Closed FroMage closed 7 years ago
why don't you use an option of the plugin to configure that ?
Which option would that be?
when you mean install you mean install in maven repo a car file ?
Yes.
So the funny thing is that if I use explodeTo
the generated jar
is correct, even if slightly different to the .car
because Maven adds metadata to the MANIFEST.MF
file.
The only thing left to fix is the pom.xml
, and for now I have added a check in the compile plugin that barfs if the dependencies list is different in the pom and Ceylon. When they are in sync, we can use the Herd Maven repo at https://modules.ceylon-lang.org/maven/1 to feed Maven modules for all the Ceylon modules to Maven.
I think this is the best way forward, but I'll need to tweak things in the Ceylon system so that:
pom.xml
files (bug with :
in artifactId
ATM)groupId
/artifactId
in the module.ceylon
if the default is not wantedceylon.language
and maven:org.ceylon-lang:ceylon.language
are one and the same (probaly hard).ceylon.language
and the dist use the groupId allocated for Ceylon on Maven ATMDone
Right now, if I do
mvn install
I get my Ceylon module compiled, but then I get an empty jar installed:I think we should hook into the install phase to install the compiled
.car
and probably use thepom
that is inside the.car
.Which
pom.xml
to use to publish the module is tricky: thepom.xml
written by the user doesn't need to have its dependencies correctly set, since they're declared inmodule.ceylon
, but the rest of the info is valid:groupId
,artifactId
, etc…The generated
pom.xml
inside the.car
has valid dependencies but generatedgroupId
/artifactId
and such.So ATM both are problematic. Either the plugin should verify that the dependencies are in sync. Or the compiler. The IDE could sync both files. Or we forget about syncing deps, and we add a compiler flag to point to our
pom.xml
so that it will fetch missing info from there, such asgroupId
,artifactId
,parent
and fill in thedependencies
by itself.I think that last option is saner and will lead to more correct
pom.xml
files, no?