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