Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 25 2018 13:03
    lefou closed #12
  • Jun 25 2018 13:02
    lefou closed #2
  • Jun 25 2018 13:02
    lefou closed #5
  • Jun 25 2018 13:02
    lefou closed #13
  • Aug 31 2017 10:56
    lefou assigned #12
  • Aug 31 2017 10:52
    lefou closed #6
  • Aug 31 2017 10:52
    lefou commented #6
  • Aug 31 2017 10:52
    lefou unlabeled #6
  • Aug 31 2017 10:52
    lefou unlabeled #6
  • Aug 31 2017 10:52
    lefou labeled #6
  • Mar 10 2016 10:42
    jwausle added as member
  • Mar 09 2016 15:45
    jwausle synchronize #13
  • Mar 09 2016 15:35
    jwausle opened #13
  • Mar 09 2016 15:23
    jwausle opened #12
  • Mar 07 2016 12:19

    lefou on jwausle-master-my-change

    (compare)

  • Mar 07 2016 12:17

    lefou on tests

    (compare)

  • Mar 07 2016 12:04
    lefou closed #10
  • Mar 07 2016 12:04
    lefou commented #10
  • Mar 07 2016 12:02

    lefou on master

    Prepared 0.2.1 release Removed old script (no longer n… Updated generated class (compare)

  • Mar 07 2016 12:02

    lefou on 0.2.1

    Prepared 0.2.1 release (compare)

Tobias Roeser
@lefou
Sorry, I must have overlooked the notification. Thanks for your PR!
Tobias Roeser
@lefou
Hi @/all , I'd like to release cmvn 0.2.0. This release already took much too long. Do you known any critical issue we should fix before that release?
Tobias Roeser
@lefou
Tobias Roeser
@lefou
Cmvn 0.2.0 has an issue with reading/writing it's own config files (#9). Cmvn 0.2.1 fixes it. https://github.com/ToToTec/cmvn/releases/tag/0.2.1
J.Winter
@jwausle
It is possible to configure a '<project><Name>' value or more specific a '<project><build><mytag>' value?
J.Winter
@jwausle
I created a issue #12.
J.Winter
@jwausle
No problem: fixed:)
Tobias Roeser
@lefou
I'm not sure, if I completely like the idea from #12.
One reason is, I'm not sure, if we should allow generic attributes. Also it might be better to make those attributes their own settings, or even a new generic or gen setting, which is able to add XML to the generated pom.
But I won't stay in your way, either.
Are you interested in write access to the cmvn repo?
J.Winter
@jwausle
This would be nice:) Do You have concrete picture regarding #12. My requirement is regarding //project/name, //project/profiles, //project/build/resources. The simplest think was to enhance 'project: ...;-xml:...'
Tobias Roeser
@lefou
No clear vision yet, but my initial thought was some new settings like: name, description, profile, resource, ...
In the end, one want's the whole pom tree.
But, the current format is a bit limited. So I tend to replace it. Together with #6 and the already existing maven extensions, it might be easier to just pick an existing extension that has already compact models and extend it with cmvn's unique features, e.g. global excludes, include-concept.
Tobias Roeser
@lefou
I tend towards the Scala extension. Dependencies are already very compact: "G" % "A" % "V" As you just build up a Maven Model in a Scala DSL, there is no additional parsing involved. Only for the include mechanism, we need to parse, but even in that case, I would simply use the same Scala eval mechanism.
WDYT?
Here is an example of a Scala-based POM: https://github.com/domino-osgi/domino/blob/master/pom.scala
As you can see in that example, it is possible to dynamically compute parts of the pom which are typically not dynamic, e.g. the artifact name
Tobias Roeser
@lefou
Asuming we implement some way of include concept, we could then move arbitrary part into include files and just assemble the final pom in the project.
Tobias Roeser
@lefou
Of course, this IS vision, not a near solution for your needs.
IMHO, packing all into a attribute of the project setting isn't practical at all, as it need to get on one line (or multi line masked with \)
So, I vote for new settings, starting with name and description.
But if you try to attack the profile support, I think we will reach the boundary of the current syntax.
I'd love to experiment with my other idea: implement cmvn syntax as Scala DSL, but in the next months, my spare time is very limited.
Tobias Roeser
@lefou
@jwausle I added you to the Cmvn Developers team which has write access to the repository
Welcome aboard!
J.Winter
@jwausle
I plan to enhance 'build: -resource=xml, -testResource=xml' and 'project: ...;name=string;description=string'
J.Winter
@jwausle
And one magic enhancement 'repository: ...;profile=string' to support special repositories with -Pprofile.id to support special (fucking) tycho things for local execution. IDEA: repositories with profile-option will be serialized as <profile><repository> outside off the standard <repositories>.
To your questions:
'scala.pom' looks quiet nice. What its really important is to support 'include' feature. For me its the killer feature from cmvn.
Tobias Roeser
@lefou
Yeah, include is really the killer feature
The name and description attributes are ok on project
Tobias Roeser
@lefou
For the resources / testresources I suggest to make them top level. I haven't used it lately, so my use pattern might not be realistic, but here are some ideas, how it could look like:
The original:
<build>
...
<resources>
<resource>
<targetPath>META-INF/plexus</targetPath>
<filtering>false</filtering>
<directory>${basedir}/src/main/plexus</directory>
<includes>
<include>configuration.xml</include>
</includes>
<excludes>
<exclude>*/.properties</exclude>
</excludes>
</resource>
</resources>
<testResources>
...
</testResources>
...
</build>
The cmvn version:
resource: targetPath=META-INF/plexus;filtering=false;directory=${basedir}/src/main/plexus;include=configuration.xml;exclude=*/.properties
testResource: ...
If you see some limitations or clashes for complex setups here, we could also add an XML alternative, e.g.
resourcesXml: \
<targetPath>META-INF/plexus</targetPath>\
<filtering>false</filtering>\
<directory>${basedir}/src/main/plexus</directory>\
<includes>\
<include>configuration.xml</include>\
</includes>\
<excludes>\
<exclude>*/.properties</exclude>\
</excludes>
Tobias Roeser
@lefou
Looks like, what I envisioned is already possibly with Polyglot Maven
With the Scala extension, you can use the #include preprocessor, to include other scala files. It is not transitive and has some issues when building from reactor builds, but it is really powerful, as you can share project settings without parent poms.
J.Winter
@jwausle
Vg
Tobias Roeser
@lefou
ftr, we use Polyglot Maven, the scala version, in Blended, and it is really great.
This superseedes cmvn, e.g. proper syntax (scala) and parser, includes, complete maven model.
Tobias Roeser
@lefou
Therefore, cmvn will not be continued
Tobias Roeser
@lefou
This message was deleted
@jwausle Do you have any intent to work on cmvn again, or is it OK to archive the repo in github?
J.Winter
@jwausle
no objections.