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 >