cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Min Chen <min.c...@citrix.com>
Subject Re: eclipse and maven working together...
Date Thu, 14 Mar 2013 19:36:28 GMT
Tried this command 

mvn -T 3 -o -P impatient,systemvm clean install


On my mac, and saw this warning in the output:

[WARNING] The following plugins are not marked @threadSafe in Apache
CloudStack Server:
[WARNING] org.apache.maven.plugins:maven-site-plugin:3.1
[WARNING] *****************************************************************
[WARNING] *****************************************************************
[WARNING] * Your build is requesting parallel execution, but project      *
[WARNING] * contains the following plugin(s) that are not marked as       *
[WARNING] * @threadSafe to support parallel building.                     *
[WARNING] * While this /may/ work fine, please look for plugin updates    *
[WARNING] * and/or request plugins be made thread-safe.                   *
[WARNING] * If reporting an issue, report it against the plugin in        *
[WARNING] * question, not against maven-core                              *
[WARNING] *****************************************************************
[WARNING] The following plugins are not marked @threadSafe in Apache
CloudStack Agents:
[WARNING] org.apache.maven.plugins:maven-dependency-plugin:2.5.1
[WARNING] org.apache.maven.plugins:maven-site-plugin:3.1
[WARNING] *****************************************************************


Did you see this?


Thanks
-min

On 3/13/13 9:17 PM, "Alex Huang" <Alex.Huang@citrix.com> wrote:

>As a point of reference, on my i7 dual core HT enabled, it actually was
>better with -T 2.  The time was just under 3 minutes.  With -T 3, the
>time was just over 3 minutes.
>
>As I was going through this, I noticed there's a lot of inefficiencies in
>the build.  There was a lot of jar files being copied all over the place.
> Will take a look at how to reduce that, especially for dev-test
>environment.  The only problem is I'm not sure if changes to these copies
>would affect rpm building or not.
>
>--Alex
>
>> -----Original Message-----
>> From: Alex Huang [mailto:Alex.Huang@citrix.com]
>> Sent: Wednesday, March 13, 2013 9:01 PM
>> To: cloudstack-dev@incubator.apache.org
>> Subject: RE: eclipse and maven working together...
>> 
>> Oh and with the eclipse change, I was able to finally use multiple
>>threads to
>> compile.  Before, it always died because eclipse was interfering.
>>Now I'm
>> able to get the entire compile down to just about 3 minutes.
>> 
>> mvn -T 3 -o -P impatient,systemvm clean install -DskipTests=true
>> 
>> --Alex
>> 
>> > -----Original Message-----
>> > From: Alex Huang [mailto:Alex.Huang@citrix.com]
>> > Sent: Wednesday, March 13, 2013 8:49 PM
>> > To: cloudstack-dev@incubator.apache.org
>> > Subject: RE: eclipse and maven working together...
>> >
>> > Oh and btw, I checked in a new profile called impatient.  With it, I
>> > cut off a whole minute (about 25% for me) off the build.  Use it in
>>place of
>> developer.
>> > Developer profile is still there.
>> >
>> > mvn -o -P impatient,systemvm clean install -DskipTests=true
>> >
>> > --Alex
>> >
>> > > -----Original Message-----
>> > > From: Alex Huang [mailto:Alex.Huang@citrix.com]
>> > > Sent: Wednesday, March 13, 2013 8:33 PM
>> > > To: cloudstack-dev@incubator.apache.org
>> > > Subject: eclipse and maven working together...
>> > >
>> > > With the included checkins, I made some changes to help developers
>> > > with better productivity.
>> > >
>> > > With maven not supporting incremental build, most people are
>> > > building with mvn clean install.  After doing that, you probably see
>> > > eclipse start rebuilding the workspace and eclipse is slow when that
>> happens.
>> > > I thought that was strange and figured it was because maven and
>> > > eclipse are sharing the same target directories.  A quick search on
>> > > that turns up that this is a common problem already described on
>> > > m2e's faq
>> > [1].
>> > >
>> > > So with this commit, I did the following things.
>> > >
>> > > I changed the outputDirectory of the build to be based on a config
>> variable.
>> > > The default is the normal target directory.  However with the
>> > > eclipse profile, it gets set to target-eclipse.  What this means is
>> > > that
>> > >
>> > > - When compiling outside of eclipse, it uses target to contain the
>> > > generated files.
>> > > - When compiling inside eclipse, it depends on the active profile
>> > > for the project.  If it contains eclipse, then it uses
>> > > target-eclipse.  If it doesn't contain anything, then it uses
>>target like
>> before.
>> > >
>> > > Here comes the hard part, in order to make this work, you need to
>> > > run a script that I checked in.  Run it with bash.  Works in Cygwin
>>for me.
>> > >
>> > > Quite eclipse.
>> > >
>> > > From the top directory, run
>> > >
>> > > tools/eclipse/set-eclipse-profile.sh
>> > >
>> > > This will set all of the projects to have profile eclipse.  From
>> > > then on, your eclipse won't be recompiling the workspace every time
>> > > you run mvn clean install in a terminal.  It also avoids a race
>> > > condition between mvn and eclipse in building the class files.
>> > >
>> > > --Alex
>> > >
>> > > [1]
>> > >
>> >
>> http://wiki.eclipse.org/M2E_FAQ#Maven_Integration_for_Eclipse_vs._Mav
>> > > en_eclipse:eclipse_plugin
>> > >
>> > > -----Original Message-----
>> > > From: ahuang@apache.org [mailto:ahuang@apache.org]
>> > > Sent: Wednesday, March 13, 2013 8:22 PM
>> > > To: cloudstack-commits@incubator.apache.org
>> > > Subject: [2/2] git commit: refs/heads/master - Added a shell script
>> > > to set the maven profiles in eclipse
>> > >
>> > > Updated Branches:
>> > >   refs/heads/master 1079d63b6 -> 164d3a1a3
>> > >
>> > >
>> > > Added a shell script to set the maven profiles in eclipse
>> > >
>> > >
>> > > Project:
>> > > http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
>> > > Commit: http://git-wip-us.apache.org/repos/asf/incubator-
>> > > cloudstack/commit/164d3a1a
>> > > Tree: http://git-wip-us.apache.org/repos/asf/incubator-
>> > > cloudstack/tree/164d3a1a
>> > > Diff: http://git-wip-us.apache.org/repos/asf/incubator-
>> > > cloudstack/diff/164d3a1a
>> > >
>> > > Branch: refs/heads/master
>> > > Commit: 164d3a1a39f3d0b9f52a1254dd7a53ee37d957c4
>> > > Parents: 0115133
>> > > Author: Alex Huang <alex.huang@citrix.com>
>> > > Authored: Wed Mar 13 20:20:10 2013 -0700
>> > > Committer: Alex Huang <alex.huang@citrix.com>
>> > > Committed: Wed Mar 13 20:21:58 2013 -0700
>> > >
>> > > 
>>----------------------------------------------------------------------
>> > >  tools/eclipse/set-eclipse-profile.sh |   26
>> > ++++++++++++++++++++++++++
>> > >  1 files changed, 26 insertions(+), 0 deletions(-)
>> > > --------------------------------------------------------------------
>> > > --
>> > >
>> > >
>> > > http://git-wip-us.apache.org/repos/asf/incubator-
>> > > cloudstack/blob/164d3a1a/tools/eclipse/set-eclipse-profile.sh
>> > > --------------------------------------------------------------------
>> > > -- diff --git a/tools/eclipse/set-eclipse-profile.sh
>> > > b/tools/eclipse/set-eclipse- profile.sh new file mode 100644 index
>> > > 0000000..1abc662
>> > > --- /dev/null
>> > > +++ b/tools/eclipse/set-eclipse-profile.sh
>> > > @@ -0,0 +1,26 @@
>> > > +#!/bin/bash
>> > > +# Licensed to the Apache Software Foundation (ASF) under one # or
>> > > +more contributor license agreements.  See the NOTICE file #
>> > > +distributed with this work for additional information # regarding
>> > > +copyright ownership.  The ASF licenses this file # to you under the
>> > > +Apache License, Version 2.0 (the # "License"); you may not use this
>> > > +file except in compliance # with the License.  You may obtain a
>> > > +copy of the License at #
>> > > +#   http://www.apache.org/licenses/LICENSE-2.0
>> > > +#
>> > > +# Unless required by applicable law or agreed to in writing, #
>> > > +software distributed under the License is distributed on an # "AS
>>IS"
>> > > +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either
>> > express
>> > > +or implied.  See the License for the # specific language governing
>> > > +permissions and limitations # under the License.
>> > > +
>> > > +for file in `find . -name org.eclipse.m2e.core.prefs | xargs`; do
>> > > +  if grep -q activeProfiles=eclipse $file; then
>> > > +    echo Skipping $file;
>> > > +  else
>> > > +	echo Replacing $file;
>> > > +    sed -i s/activeProfiles=/activeProfiles=eclipse/g $file;
>> > > +  fi;
>> > > +done
>> > > \ No newline at end of file
>


Mime
View raw message