Skip to content
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

Open
advayDev1 opened this issue Jun 14, 2015 · 2 comments
Open

Mapping from Java to J2objc libraries #180

advayDev1 opened this issue Jun 14, 2015 · 2 comments

Comments

@advayDev1
Copy link
Contributor

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.

@brunobowden
Copy link
Contributor

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.

@advayDev1
Copy link
Contributor Author

@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.

@advayDev1 advayDev1 self-assigned this Aug 25, 2015
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
advayDev1 added a commit to madvay/j2objc-gradle that referenced this issue Aug 26, 2015
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
@advayDev1 advayDev1 modified the milestone: 1.0 Release Oct 26, 2015
@advayDev1 advayDev1 removed their assignment Sep 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants