Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Implement Maven support for assemblies #6927

Closed
quintesse opened this issue Feb 21, 2017 · 2 comments
Closed

Implement Maven support for assemblies #6927

quintesse opened this issue Feb 21, 2017 · 2 comments

Comments

@quintesse
Copy link
Contributor

quintesse commented Feb 21, 2017

Improvement on #6712 to add Maven support.

Possible implementations:

  • The first idea is to convert Maven artifacts to Ceylon modules by simply adding the JARs to the assembly as if they were legacy modules (adding module.properties files where needed) and adding an overrides.xml file to change the Maven imports to Ceylon imports.
  • The second idea is to put the Maven artifacts in a separate folder inside the assembly, with their pom.xml files, and use the MavenRepository to access them. It's probably the simplest in implementation.
  • The third idea would be like the second one, but using the AetherRepository instead. It's probably the hardest to get right and should only be considered if the other two ideas don't work out (but it's also the one most likely to get every aspect of Maven support right).

Edit: finally went with the second solution

@quintesse quintesse self-assigned this Feb 21, 2017
@quintesse quintesse added this to the 1.3.2 milestone Feb 21, 2017
quintesse added a commit that referenced this issue Feb 23, 2017
quintesse added a commit that referenced this issue Feb 23, 2017
…itory` if it detects the existence of a `maven` folder in the assembly (#6927)
quintesse added a commit that referenced this issue Feb 23, 2017
@quintesse
Copy link
Contributor Author

Ok, basic support seems to be working. More complex projects like @DiegoCoronel 's ceylon-spring-boot give problems. But the same seems to be true for fat-jar so perhaps @FroMage could take a look at that? (The code for the assemble tool and the fat-jar tool are very similar, I expect that the solution for one would also work for the other).

PS: I tried with the "gateway" module within Diego's project

@gavinking
Copy link
Contributor

AWESOME.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants