I'd update the building with maven section on cwiki. but I dont know how to describe the impatient profile, beyond 'it pleases alex'.
On Wed, Mar 13, 2013 at 8:48 PM, Alex Huang <alex.hu...@citrix.com> wrote: > 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 > >