-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mapping from Java to J2objc libraries #180
Comments
Agreed, this is an issue for J2ObjC itself. At the moment, it seems like the libraries will advance in lock step when updating the j2objc version. I very carefully make sure that I use the same library version in my java build as the J2ObjC build - it should warn people who are not doing that. |
@brunobowden - Not completely j2objc's issue I think. We are the ones trying to support automatic dependencies, they don't seem to need to (cc @tomball - for reference, we want to automatically map from gradle/ant/etc. Java library dependencies to corresponding j2objc dist JARs and .a files, where possible). Also, we want to support non-j2objc-standard libraries in the future, which again requires us to build such a mapping. |
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslate and j2objcLink dependencies. Namely local jars are copied to j2objcTranslate, external Maven jars are converted into their 'sources' form and copied to j2objcTranslate, and projects are copied to j2objcLink (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslate and j2objcLink deps into actual j2objc commands. Any source jar on j2objcTranslate is added to translateSourcepaths with --build-closure. Any project on j2objcLink is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslate and j2objcLink dependencies. Namely local jars are copied to j2objcTranslate, external Maven jars are converted into their 'sources' form and copied to j2objcTranslate, and projects are copied to j2objcLink (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslate and j2objcLink deps into actual j2objc commands. Any source jar on j2objcTranslate is added to translateSourcepaths with --build-closure. Any project on j2objcLink is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslate and j2objcLink dependencies. Namely local jars are copied to j2objcTranslate, external Maven jars are converted into their 'sources' form and copied to j2objcTranslate, and projects are copied to j2objcLink (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslate and j2objcLink deps into actual j2objc commands. Any source jar on j2objcTranslate is added to translateSourcepaths with --build-closure. Any project on j2objcLink is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslate and j2objcLink dependencies. Namely local jars are copied to j2objcTranslate, external Maven jars are converted into their 'sources' form and copied to j2objcTranslate, and projects are copied to j2objcLink (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslate and j2objcLink deps into actual j2objc commands. Any source jar on j2objcTranslate is added to translateSourcepaths with --build-closure. Any project on j2objcLink is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslate and j2objcLink dependencies. Namely local jars are copied to j2objcTranslate, external Maven jars are converted into their 'sources' form and copied to j2objcTranslate, and projects are copied to j2objcLink (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslate and j2objcLink deps into actual j2objc commands. Any source jar on j2objcTranslate is added to translateSourcepaths with --build-closure. Any project on j2objcLink is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslation and j2objcLinkage dependencies. Namely local jars are copied to j2objcTranslation, external Maven jars are converted into their 'sources' form and copied to j2objcTranslation, and projects are copied to j2objcLinkage (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslation and j2objcLinkage deps into actual j2objc commands. Any source jar on j2objcTranslation is added to translateSourcepaths with --build-closure. Any project on j2objcLinkage is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. issue j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
Dependency configuration happens in 2 phases: - Dependency conversion: This converts your compile and testCompile dependencies into equivalent j2objcTranslation and j2objcLinkage dependencies. Namely local jars are copied to j2objcTranslation, external Maven jars are converted into their 'sources' form and copied to j2objcTranslation, and projects are copied to j2objcLinkage (they don't need translation). This phase is optional and controlled by j2objcConfig.autoConfigureDeps - Dependency resolution: This phase converts j2objcTranslation and j2objcLinkage deps into actual j2objc commands. Any source jar on j2objcTranslation is added to translateSourcepaths with --build-closure. Any project on j2objcLinkage is added to translateClasspaths and has its final j2objc static library linked in to this project's objective c code. This phase always runs. If your dependencies are too complicated for the plugin to figure out in the first phase, keep autoConfigureDeps=false, and just add the appropriate projets, jars, and libraries here. Also adds system tests for both project and external Maven dependencies. issue j2objc-contrib#180; Fixes j2objc-contrib#41; Fixes j2objc-contrib#372 TESTED=yes
In order to properly do #41, we need to map .pom-style dependencies to j2objc libraries. How do we know a particular library like junit v4.1 is actually "-ljunit" for j2objc? How do we know RandomLibrary1 can actually have its j2objc version downloaded, for example, from our org?
This needs a design doc I think.
The text was updated successfully, but these errors were encountered: