Hello Mark!

I have now made some notes on how I think it works and what is needed to get
it to work. They are at: http://argouml.tigris.org/wiki/Setting_up_Maven

        /Linus

2011/9/13 Linus Tolke Tigris <[email protected]>

> Hello Mark!
>
> Using profiles to specify repositories was the only solution I found (
> http://maven.apache.org/settings.html) so that was the first thing I
> tested and it worked. Is there another option?
>
> With this, I have a working solution for the publishing of snapshot
> libraries from the continuous integration server to allow developers to do
> builds that are limited in scope and don't require a complete check-out.
>
> The release artifacts are important to replace the current release scripts,
> hopefully starting with the release 0.35.1.
>
> If Eclipse can't find artifacts that are in your repository, then there
> must be something wrong with the Maven settings when running from within
> Eclipse. I don't know the insides of the m2eclipse plugin to know what the
> problem is. I thought that I had gotten rid of all the "invalid
> pom"-warnings since I added a sha1 file for all files published from the
> ArgoUML Maven repository (http://argouml-downloads.tigris.org/maven2). I
> don't understand what is happening for you.
>
>         /Linus
>
>
> 2011/9/13 Mark Fortner <[email protected]>
>
>> Hi Linus,
>> I've never used profiles before, so I couldn't tell you if it's the right
>> approach.
>>
>> In the short-term though, I would think that the main priority should be
>> in getting a stable build that works both from the command line and from the
>> Maven Eclipse plugin, and that generates releasable artifacts like an
>> installable zip file, a Mac App, Linux rpms/debs, webstart app, etc.
>>
>> Once this is done then it should be relatively easy to publish libraries
>> into sonatypes repository so that developers can do builds that are limited
>> in scope and don't require them to check out quite so much code.
>>
>> I've spent the last couple of hours chasing down a rat hole because the
>> artifactIds on some components were changed.  I can build from the command
>> line, but I can't build from Eclipse yet.  I'm getting the missing artifact
>> messages (shown below).  These are in my local repository so they should
>> resolve.
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.tigris.gef:gef:pom:0.13.7:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.tigris.swidgets:swidgets:pom:0.1.4-5:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.tigris.toolbar:toolbar:jar:1.4.1-20071227-1:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> commons-collections:commons-collections:jar:3.1:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> commons-lang:commons-lang:jar:2.1:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact org.jdom:jdom:jar:1.1:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact antlr:antlr:jar:2.7.7:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> avalon-logkit:avalon-logkit:jar:2.1:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> javax.servlet:servlet-api:jar:2.3:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> geronimo-spec:geronimo-spec-javamail:jar:1.3.1-rc3:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> geronimo-spec:geronimo-spec-jms:jar:1.1-rc4:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> werken-xpath:werken-xpath:jar:0.9.4:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact oro:oro:jar:2.0.8:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact log4j:log4j:jar:1.2.6:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> velocity:velocity:jar:1.5:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.eclipse.uml2:org.eclipse.uml2.uml.edit:pom:3.1.0.v201005031530:compile
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.apache.xmlgraphics:batik-svggen:jar:1.7:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.apache.xmlgraphics:batik-awt-util:jar:1.7:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.apache.xmlgraphics:batik-util:jar:1.7:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> xml-apis:xml-apis:jar:1.3.04:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> geronimo-spec:geronimo-spec-jms:pom:1.1-rc4:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.eclipse.emf:org.eclipse.emf.ecore.xmi:pom:2.5.0.v20100521-1846:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.eclipse.uml2:org.eclipse.uml2.common.edit:jar:1.5.0.v201005031530:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact org.jdom:jdom:pom:1.1:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact
>> org.apache.xmlgraphics:batik-awt-util:pom:1.7:compile
>>
>> 9/12/11 11:02:18 PM PDT: Missing artifact junit:junit:jar:4.8.2:test
>>
>>
>> I'm also getting a number of warnings about invalid pom files when I do a
>> command line build:
>>
>> [WARNING] POM for
>> 'org.eclipse.uml2:org.eclipse.uml2.uml.edit:pom:3.1.0.v201005031530:compile'
>> is invalid.
>>
>> Its dependencies (if any) will NOT be available to the current build.
>> [WARNING] POM for
>> 'org.eclipse.emf:org.eclipse.emf.ecore.xmi:pom:2.5.0.v20100521-1846:compile'
>> is invalid.
>>
>> Its dependencies (if any) will NOT be available to the current build.
>>  [WARNING] POM for
>> 'org.eclipse.uml2:org.eclipse.uml2.common.edit:pom:1.5.0.v201005031530:compile'
>> is invalid.
>>
>>
>> These poms (and some of the other defective ones I've seen) all used
>> "org/something/whatever" as a groupId instead of "org.something.whatever".
>>
>> Mark
>>
>>
>>
>>
>> On Mon, Sep 12, 2011 at 10:10 PM, Linus Tolke Tigris <[email protected]>wrote:
>>
>>> Hello Mark!
>>>
>>> I have now managed to checkout only the Notation part of ArgoUML
>>> (src/argouml-core-notation) and build it using maven against the snapshots
>>> and repositories. I have done this both from the command line (mvn) and from
>>> within Eclipse (m2eclipse).
>>>
>>> For this to work I used the following settings file:
>>> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
>>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
>>>                       http://maven.apache.org/xsd/settings-1.0.0.xsd";>
>>>
>>>   <profiles>
>>>     <profile>
>>>       <id>ArgoUML repositories</id>
>>>       <activation>
>>>         <activeByDefault>true</activeByDefault>
>>>       </activation>
>>>
>>>       <repositories>
>>>         <repository>
>>>           <id>argouml-snapshots</id>
>>>           <name>ArgoUML snapshots</name>
>>>           <snapshots>
>>>             <enabled>true</enabled>
>>>             <updatePolicy>never</updatePolicy>
>>>             <checksumPolicy>fail</checksumPolicy>
>>>           </snapshots>
>>>           <url>https://oss.sonatype.org/content/repositories/snapshots
>>> </url>
>>>           <layout>default</layout>
>>>         </repository>
>>>         <repository>
>>>           <id>argouml-released</id>
>>>           <name>ArgoUML released artifacts</name>
>>>           <releases>
>>>             <enabled>true</enabled>
>>>             <updatePolicy>never</updatePolicy>
>>>             <checksumPolicy>fail</checksumPolicy>
>>>           </releases>
>>>           <url>http://argouml-downloads.tigris.org/maven2</url>
>>>           <layout>default</layout>
>>>         </repository>
>>>       </repositories>
>>>
>>>     </profile>
>>>   </profiles>
>>>
>>> </settings>
>>>
>>>
>>> Is this the right way to go using Maven?
>>>
>>>         /Linus
>>>
>>>
>>>
>>>
>>>
>>> 2011/8/26 Linus Tolke Tigris <[email protected]>
>>>
>>>> Hi Mark!
>>>>
>>>> Since I wrote this I have set up an Artifactory repository for snapshots
>>>> courtesy of Sonatype. It is updated with new snapshots from the continuous
>>>> integration server.
>>>>
>>>> It is time to make another attempt at this I think.
>>>>
>>>>          /Linus
>>>>
>>>>
>>>>
>>>> 2011/8/26 Mark Fortner <[email protected]>
>>>>
>>>>> Hi Linus,
>>>>> I'm not sure I understand what you're saying.
>>>>>
>>>>> At work we store the artifacts (the snapshot jars and poms) in our
>>>>> Artifactory repository.  This makes it possible for us to get JARs without
>>>>> necessarily having to compile the underlying modules.
>>>>>
>>>>> Mark
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Aug 19, 2011 at 1:36 PM, Linus Tolke Tigris 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> Hello Mark!
>>>>>>
>>>>>> I just tested this. It didn't work very well. I the pom in argoprint
>>>>>> is stated referring to snapshots, then also the referred to snapshots 
>>>>>> must
>>>>>> be stored in the repository. For this reason there is no use storing the
>>>>>> "referred-to poms" in the release repository.
>>>>>>
>>>>>>         /Linus
>>>>>>
>>>>>>
>>>>>> 2011/8/10 Linus Tolke Tigris <[email protected]>
>>>>>>
>>>>>>> Hello!
>>>>>>>
>>>>>>> We could manually add the parentpom and the argouml-core pom to the
>>>>>>> argouml maven2 repository.
>>>>>>>
>>>>>>>         /Linus
>>>>>>>
>>>>>>> 2011/8/10 Mark Fortner <[email protected]>
>>>>>>>
>>>>>>>> Hi Linus,
>>>>>>>> Once we start using a mvn repo, developers will be able to get the
>>>>>>>> pom from the repo.  Until then, they'll need to check out argouml-app 
>>>>>>>> and do
>>>>>>>> a clean install in order to get all the artifacts they need.
>>>>>>>>
>>>>>>>> Mark
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Aug 10, 2011 at 12:04 PM, Linus Tolke Tigris <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hello Mark!
>>>>>>>>>
>>>>>>>>> Why do they have to check out the argouml project? Isn't it enough
>>>>>>>>> to put the parentpom in the argouml maven2 repository?
>>>>>>>>>
>>>>>>>>>         /Linus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2011/8/10 Mark Fortner <[email protected]>
>>>>>>>>>
>>>>>>>>>> Hi Linus,
>>>>>>>>>> The pom that's checked in is preliminary and meant really to
>>>>>>>>>> insure that we could build usable artifacts in case you needed to 
>>>>>>>>>> build
>>>>>>>>>> argoprint in the short term.  My first step in the process was to 
>>>>>>>>>> take the
>>>>>>>>>> existing classpath from Eclipse and create a workable pom that 
>>>>>>>>>> produced
>>>>>>>>>> artifacts that I could use, and that would allow me to handle the 
>>>>>>>>>> dependency
>>>>>>>>>> management properly.  I have a short term task to use commons vfs to 
>>>>>>>>>> support
>>>>>>>>>> distributed template repositories and open office file formats, and 
>>>>>>>>>> I didn't
>>>>>>>>>> want to litter up svn with additional jars.
>>>>>>>>>>
>>>>>>>>>> Now that I can build, my next step is to refactor the pom (with
>>>>>>>>>> the changes that you mentioned). I'd like to get it to the point 
>>>>>>>>>> that you
>>>>>>>>>> can do release builds from maven.
>>>>>>>>>>
>>>>>>>>>> Ideally the poms for modules should be fairly minimal, and the
>>>>>>>>>> toppom should contain most of the configuration information. 
>>>>>>>>>> Although, it's
>>>>>>>>>> a little confusing since toppom's location doesn't follow maven's 
>>>>>>>>>> convention
>>>>>>>>>> and most people will expect the root level pom to have most of the
>>>>>>>>>> configuration.  This also means that module developers have to 
>>>>>>>>>> checkout
>>>>>>>>>> argouml in order to build a module, and I don't believe that should 
>>>>>>>>>> be
>>>>>>>>>> necessary.
>>>>>>>>>>
>>>>>>>>>> I used the outputDirectory and testOutputDirectory elements to
>>>>>>>>>> insure that test classes didn't get mixed in with the classes that I 
>>>>>>>>>> want to
>>>>>>>>>> distribute.  The jar should only contain the classes and resources 
>>>>>>>>>> necessary
>>>>>>>>>> to run and nothing else.  I noticed that the other jars being 
>>>>>>>>>> created by the
>>>>>>>>>> other argouml poms include lots of unnecessary files.  This link 
>>>>>>>>>> shows a
>>>>>>>>>> sample pom with separated test and compile directories:
>>>>>>>>>> http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
>>>>>>>>>>
>>>>>>>>>> I'll make the changes to argoprint's pom this evening (I'm in San
>>>>>>>>>> Diego, UTC -8) before I make any changes to other poms.
>>>>>>>>>>
>>>>>>>>>> Let me know if you have any other questions.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>> Mark
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Aug 10, 2011 at 11:11 AM, Linus Tolke Tigris <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hello Mark!
>>>>>>>>>>>
>>>>>>>>>>> I have the following questions/comments on the argoprint pom:
>>>>>>>>>>>
>>>>>>>>>>>    - The groupId should probably be org.argouml or have you or
>>>>>>>>>>>    anyone registered argoprint.org?
>>>>>>>>>>>    - Since argoprint is not part of the core, its parentpom
>>>>>>>>>>>    should be parentpom instead of argouml-core, shouldn't it?
>>>>>>>>>>>    - You have not given scope to the dependencies. How do you
>>>>>>>>>>>    distinguish between compile time dependencies such as 
>>>>>>>>>>> argouml-core-model.jar
>>>>>>>>>>>    and run time dependencies such as argouml-core-model-mdr.jar?
>>>>>>>>>>>    - Why do you explicitly state outputDirectory and
>>>>>>>>>>>    testOutputDirectory. Isn't the maven default good enought? Isn't 
>>>>>>>>>>> that the
>>>>>>>>>>>    maven default?
>>>>>>>>>>>    - Shouldn't finalName contain a reference to version instead
>>>>>>>>>>>    of the explicit version?
>>>>>>>>>>>    - Should the pluginManagement be moved up to the top of the
>>>>>>>>>>>    pom tree eventually? I get the feeling you are doing things too 
>>>>>>>>>>> far down in
>>>>>>>>>>>    the pom/module-tree.
>>>>>>>>>>>    - Is it really needed to specify the same configuration both
>>>>>>>>>>>    for the plugin (maven-compiler-plugin, maven-surefire-plugin, and
>>>>>>>>>>>    maven-site-plugin) and for the defined executions?
>>>>>>>>>>>    - Why do you have the checkstyle plugin in the build? Doesn't
>>>>>>>>>>>    it belong with the reporting as I did in the parentpom?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I noticed that I should update the compiler version to java 1.6
>>>>>>>>>>> in for maven. I will do that now.
>>>>>>>>>>>
>>>>>>>>>>> /Linus
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2011/8/8 Mark Fortner <[email protected]>
>>>>>>>>>>>
>>>>>>>>>>>> Hi Laurent,
>>>>>>>>>>>> I've updated the project, and tried it out on my Mac and Linux
>>>>>>>>>>>> box.  In both cases, I checked out the project into the same 
>>>>>>>>>>>> directory as
>>>>>>>>>>>> the other argo projects and ran "mvn clean install" to build the 
>>>>>>>>>>>> project.
>>>>>>>>>>>>  The resulting jar file is in the target directory.  I also ran 
>>>>>>>>>>>> launcher for
>>>>>>>>>>>> UML1.4 and it worked.  I'll give the UML2 launcher a try as well 
>>>>>>>>>>>> and see
>>>>>>>>>>>> what happens.
>>>>>>>>>>>>
>>>>>>>>>>>> After that I'll give your patch a try and let you know what
>>>>>>>>>>>> happens.
>>>>>>>>>>>>
>>>>>>>>>>>> Mark
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sun, Aug 7, 2011 at 4:10 PM, Mark Fortner <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Laurent,
>>>>>>>>>>>>> Thanks very much for the patch to the DiagramUtil class. I'm in
>>>>>>>>>>>>> the process of mavenizing the project, when I finish that I'll 
>>>>>>>>>>>>> apply the
>>>>>>>>>>>>> patch, and run the unit test to verify that we can read both 
>>>>>>>>>>>>> UML1.4 and UML2
>>>>>>>>>>>>> diagrams.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'll also check into the launch file issue that you mentioned
>>>>>>>>>>>>> and make sure that we can still run ArgoPrint from Eclipse.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for your help,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Mark
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, Aug 7, 2011 at 3:18 AM, Laurent BRAUD <[email protected]
>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have no objection.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I don't know if it can be include in this scope:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=448&dsMessageId=2800057
>>>>>>>>>>>>>> =>
>>>>>>>>>>>>>> "Note that this patch isn't enought. In order to use really
>>>>>>>>>>>>>> ArgoPrint with
>>>>>>>>>>>>>> Eclipse, the dir "template" is needed in
>>>>>>>>>>>>>> "argoprint\build-eclipse" (with all
>>>>>>>>>>>>>> files)."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You said :
>>>>>>>>>>>>>> "The source and test trees would move
>>>>>>>>>>>>>> moved/reorganized/standardized"
>>>>>>>>>>>>>> So, can you said when you start/finished. In fact, we don't
>>>>>>>>>>>>>> have to add patch in this time.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Laurent.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ------------------------------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2812282
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> To unsubscribe from this discussion, e-mail: [
>>>>>>>>>>>>>> [email protected]].
>>>>>>>>>>>>>> To be allowed to post to the list contact the mailing list
>>>>>>>>>>>>>> moderator, email: [[email protected]]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2838270

To unsubscribe from this discussion, e-mail: 
[[email protected]].
To be allowed to post to the list contact the mailing list moderator, email: 
[[email protected]]

Reply via email to