Commit f4580a43 authored by Bruno Coelho's avatar Bruno Coelho

Require only the bridging header name instead of it’s path

parent fde11639
......@@ -28,8 +28,6 @@ java_package="com.dropbox.textsort"
gen_stamp="$temp_out/gen.stamp"
objc_swift_bridging_header="TextSort-Bridging-Header.h"
if [ $# -eq 0 ]; then
# Normal build.
true
......@@ -71,7 +69,7 @@ fi
--objc-out "$temp_out/objc" \
--objcpp-out "$temp_out/objc" \
--objc-type-prefix TXS \
--objc-swift-bridging-header-out "$temp_out/objc/$objc_swift_bridging_header" \
--objc-swift-bridging-header "TextSort-Bridging-Header" \
\
--idl "$in"
......
......@@ -8,10 +8,10 @@
</extension>
<option name="MAIN_CLASS_NAME" value="djinni.Main" />
<option name="VM_PARAMETERS" value="" />
<option name="PROGRAM_PARAMETERS" value="--java-out djinni-output-temp/java --java-package com.dropbox.textsort --ident-java-field mFooBar --cpp-out djinni-output-temp/cpp --cpp-namespace textsort --ident-cpp-enum-type foo_bar --jni-out djinni-output-temp/jni --ident-jni-class NativeFooBar --ident-jni-file NativeFooBar --objc-out djinni-output-temp/objc --objcpp-out djinni-output-temp/objc --objc-type-prefix TXS --idl example.djinni" />
<option name="PROGRAM_PARAMETERS" value="--java-out djinni-output-temp/java --java-package com.dropbox.textsort --ident-java-field mFooBar --cpp-out djinni-output-temp/cpp --cpp-namespace textsort --ident-cpp-enum-type foo_bar --jni-out djinni-output-temp/jni --ident-jni-class NativeFooBar --ident-jni-file NativeFooBar --objc-out djinni-output-temp/objc --objcpp-out djinni-output-temp/objc --objc-type-prefix TXS --objc-swift-bridging-header TextSort-Bridging-Header --idl example.djinni" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/../example" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
......
......@@ -68,7 +68,7 @@ object Main {
var objcTypePrefix: String = ""
var objcIncludePrefix: String = ""
var objcExtendedRecordIncludePrefix: String = ""
var objcSwiftBridgingHeaderOut: Option[File] = None
var objcSwiftBridgingHeader: Option[String] = None
var objcppIncludePrefix: String = ""
var objcppIncludeCppPrefix: String = ""
var objcppIncludeObjcPrefixOptional: Option[String] = None
......@@ -165,8 +165,8 @@ object Main {
.text("The prefix for Objective-C data types (usually two or three letters)")
opt[String]("objc-include-prefix").valueName("<prefix>").foreach(objcIncludePrefix = _)
.text("The prefix for #import of header files from Objective-C files.")
opt[File]("objc-swift-bridging-header-out").valueName("<path>").foreach(x => objcSwiftBridgingHeaderOut = Some(x))
.text("The path to Objective-C Bridging Header used in XCode's Swift projects.")
opt[String]("objc-swift-bridging-header").valueName("<name>").foreach(x => objcSwiftBridgingHeader = Some(x))
.text("The name of Objective-C Bridging Header used in XCode's Swift projects.")
note("")
opt[File]("objcpp-out").valueName("<out-folder>").foreach(x => objcppOutFolder = Some(x))
.text("The output folder for private Objective-C++ files (Generator disabled if unspecified).")
......@@ -285,12 +285,11 @@ object Main {
} else {
None
}
val objcSwiftBridgingHeaderWriter = if (objcSwiftBridgingHeaderOut.isDefined) {
if (objcSwiftBridgingHeaderOut.get.getParentFile != null)
createFolder("Swift", objcSwiftBridgingHeaderOut.get.getParentFile)
val writer = new BufferedWriter(new FileWriter(objcSwiftBridgingHeaderOut.get))
SwiftBridgingHeaderGenerator.writeAutogenerationWarning(writer)
Some(writer)
val objcSwiftBridgingHeaderWriter = if (objcSwiftBridgingHeader.isDefined && objcOutFolder.isDefined) {
val objcSwiftBridgingHeaderFile = new File(objcOutFolder.get.getPath, objcSwiftBridgingHeader.get + ".h")
if (objcSwiftBridgingHeaderFile.getParentFile != null)
createFolder("output file list", objcSwiftBridgingHeaderFile.getParentFile)
Some(new BufferedWriter(new FileWriter(objcSwiftBridgingHeaderFile)))
} else {
None
}
......
......@@ -16,7 +16,7 @@
package djinni
import java.io.{File, FileWriter, BufferedWriter}
import java.io._
import djinni.ast._
import djinni.generatorTools._
......@@ -38,7 +38,7 @@ class SwiftBridgingHeaderGenerator(spec: Spec) extends Generator(spec) {
}
object SwiftBridgingHeaderGenerator {
def writeAutogenerationWarning(writer: BufferedWriter) {
def writeAutogenerationWarning(writer: Writer) {
writer.write("// AUTOGENERATED FILE - DO NOT MODIFY!\n")
writer.write("// This file generated by Djinni\n\n")
}
......
......@@ -216,6 +216,7 @@ package object generatorTools {
new ObjcppGenerator(spec).generate(idl)
}
if (spec.objcSwiftBridgingHeaderWriter.isDefined) {
SwiftBridgingHeaderGenerator.writeAutogenerationWarning(spec.objcSwiftBridgingHeaderWriter.get)
new SwiftBridgingHeaderGenerator(spec).generate(idl)
}
if (spec.yamlOutFolder.isDefined) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment