Make it more faster using -o so it won't download or check artifacts
dependencies.

On Thu, Mar 14, 2013 at 9:47 AM, Alex Huang <alex.hu...@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.hu...@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.hu...@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.hu...@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: ahu...@apache.org [mailto:ahu...@apache.org]
>> > > Sent: Wednesday, March 13, 2013 8:22 PM
>> > > To: cloudstack-comm...@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.hu...@citrix.com>
>> > > Authored: Wed Mar 13 20:20:10 2013 -0700
>> > > Committer: Alex Huang <alex.hu...@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
>

Reply via email to