incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ahmad Emneina <aemne...@gmail.com>
Subject Re: eclipse and maven working together...
Date Thu, 14 Mar 2013 03:58:23 GMT
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.Huang@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.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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message