← Back to team overview

syncany-team team mailing list archive

Re: Maven build

 

Hallo Julien,

this is perfect. That's exactly how I wanted it to be. Great job!
I have to get used to the whole Maven thing, and I suppose that could
take a while. I love how it integrates with NetBeans...

I could get it to compile after a while from within NetBeans, but on
the command line, it didn't find any dependencies and kept complaining
about the source code being java v1.3 (log attached).

In Netbeans, no dependencies would show at all in the individual
plugins list until I added some jar manually via the context menu (add
dependency). Once I did that, all the other dependencies appeared.

I think once these few issues are resolves, it'll work perfectly. Did
you already add all dependencies for the individual plugins, or is
this just a preview version? I didn't have the time to check...

Cheers,
Philipp

On Mon, Jun 20, 2011 at 2:40 AM, Philipp Heckel
<philipp.heckel@xxxxxxxxx> wrote:
> Great. I'll try it tomorrow.
>
> On Sun, Jun 19, 2011 at 10:29 PM, Julien Nicoulaud
> <julien.nicoulaud@xxxxxxxxx> wrote:
>> Hi,
>>
>> I have pushed in the branch, the build now generates a working assembly, you
>> can test it this way:
>>    bzr branch lp:~julien-nicoulaud/syncany/maven
>>    cd syncany/syncany
>>    mvn clean install
>>    syncany-assemblies/target/syncany-*-assembly/syncany-*/bin/syncany.sh
>> Tell me what you think !
>>
>> Cheers,
>> Julien
>> 2011/6/14 Philipp Heckel <philipp.heckel@xxxxxxxxx>
>>>
>>> Hey Julien,
>>>
>>> I've briefly browsed through the code and rearrangements you did. I
>>> think it really looks good! Do you have a lot of experience in this?
>>
>> I've done this a few times :)
>>
>>>
>>> I
>>> will definitely take a closer look in the next days!
>>>
>>> Cheers,
>>> Philipp
>>>
>>> On Mon, Jun 13, 2011 at 10:28 PM, Julien Nicoulaud
>>> <julien.nicoulaud@xxxxxxxxx> wrote:
>>> > OK, I've started it in the branch
>>> > (https://code.launchpad.net/~julien-nicoulaud/syncany/maven). For now
>>> > the
>>> > project compiles and generates an (unusable) assembly, the work is still
>>> > in
>>> > progress but you can already see the structure (please stop me right
>>> > here if
>>> > it's not OK). Only a few jars remain checked in version control.
>>> > Also, I will add the config for izpack so you can see how easy it is to
>>> > generate a cross-platform installer with Izpack+Maven.
>>> > Cheers,
>>> > Julien
>>> >
>>> > 2011/6/13 Philipp Heckel <philipp.heckel@xxxxxxxxx>
>>> >>
>>> >> Alright then :-D
>>> >> I'm convinced!
>>> >>
>>> >> On Mon, Jun 13, 2011 at 6:06 PM, Julien Nicoulaud
>>> >> <julien.nicoulaud@xxxxxxxxx> wrote:
>>> >> > Nice, I will start working on it in this branch:
>>> >> > https://code.launchpad.net/~julien-nicoulaud/syncany/maven
>>> >> > I will let you know when it's ready for testing.
>>> >> >
>>> >> > 2011/6/13 nocans@xxxxxxxxx <nocans@xxxxxxxxx>
>>> >> >>
>>> >> >> I'm all for it, and it sounds a nice opportunity to learn more about
>>> >> >> maven.
>>> >> >> I will see what I can do about us having a repo so we can have cake
>>> >> >> and
>>> >> >> eat it!
>>> >> >>
>>> >> >> On Mon, Jun 13, 2011 at 11:23 AM, Julien Nicoulaud
>>> >> >> <julien.nicoulaud@xxxxxxxxx> wrote:
>>> >> >>>
>>> >> >>> Hi all,
>>> >> >>> Let me give the main reasons why I made this proposition:
>>> >> >>>  - Right now the project is quite difficult to setup in other IDEs
>>> >> >>> than
>>> >> >>> Netbeans (IntelliJ IDEA user here). Maven benefits of a great
>>> >> >>> integration
>>> >> >>> with most IDEs, so it makes it easier for developers to get
>>> >> >>> started.
>>> >> >>>  - The Java libraries are checked in version control, which makes
>>> >> >>> it
>>> >> >>> very
>>> >> >>> heavy. Maven pulls dependencies from repositories.
>>> >> >>>  - The packaging and distribution of assemblies is easy, we can
>>> >> >>> easily
>>> >> >>> package an assembly for Windows, Linux, for development, etc.
>>> >> >>> through
>>> >> >>> descriptor files.
>>> >> >>>  - The modularisation could be improved, for example it seems to me
>>> >> >>> that
>>> >> >>> subpackages in org.syncany.connection.plugins should be packaged in
>>> >> >>> different Jars ?
>>> >> >>>  - Also, Maven can handle the release process (doing a VCS tag,
>>> >> >>> generating the release artifacts, bump version numbers, etc), but
>>> >> >>> it's
>>> >> >>> not
>>> >> >>> mandatory.
>>> >> >>>
>>> >> >>> @Jason: We don't really need a repo, I took a quick look and here
>>> >> >>> is
>>> >> >>> the
>>> >> >>> list of dependencies in libs/** that I could not find in Maven
>>> >> >>> central
>>> >> >>> repository:
>>> >> >>> * AbsoluteLayout
>>> >> >>> * AppFramework
>>> >> >>> * eclipselink
>>> >> >>> * eclipselink-javax.persistence
>>> >> >>> * jpathwatch
>>> >> >>> * gdata-*
>>> >> >>> * j2ssh
>>> >> >>> These few jars could just stay checked in version control.
>>> >> >>> Julien
>>> >> >>> 2011/6/13 nocans@xxxxxxxxx <nocans@xxxxxxxxx>
>>> >> >>>>
>>> >> >>>> Maven is quite a treat. A lot of people are using it these days
>>> >> >>>> and
>>> >> >>>> has
>>> >> >>>> great advantages. I am not a maven expert by any means, but I can
>>> >> >>>> tell you
>>> >> >>>> that the nicest thing about it is that you describe a project and
>>> >> >>>> it's
>>> >> >>>> dependanices in an xml file so that when you build it all the
>>> >> >>>> dependancies
>>> >> >>>> are pulled from your nexus repo, which is just a smart-ish binary
>>> >> >>>> repo.
>>> >> >>>> Also, when your project builds successfully your artifacts can be
>>> >> >>>> stored in
>>> >> >>>> your repo as snapshots so that others can use them.
>>> >> >>>> The main idea of maven is that when a developer pulls the source
>>> >> >>>> there's
>>> >> >>>> no guesswork as to how to build and deploy the project, it's all
>>> >> >>>> done
>>> >> >>>> with
>>> >> >>>> maven. In doing so, the project has to adhere to certain
>>> >> >>>> standards,
>>> >> >>>> namely
>>> >> >>>> how the files and folders are laid out which is defined in a maven
>>> >> >>>> archetype
>>> >> >>>> and can even be changed if you want.
>>> >> >>>> This is why I asked if there was some sort of 'public' repo we
>>> >> >>>> could
>>> >> >>>> use, since we're an open source project, because to take full
>>> >> >>>> advantage of
>>> >> >>>> maven one needs a nexus repo, and I don't have one handy :)
>>> >> >>>>
>>> >> >>>>
>>> >> >>>> On Mon, Jun 13, 2011 at 6:46 AM, Philipp Heckel
>>> >> >>>> <philipp.heckel@xxxxxxxxx> wrote:
>>> >> >>>>>
>>> >> >>>>> I have no experience with Maven or Ant. Are there any significant
>>> >> >>>>> advantages in using Maven? Ant sort of integrated with Netbeans
>>> >> >>>>> at
>>> >> >>>>> the
>>> >> >>>>> moment ...
>>> >> >>>>>
>>> >> >>>>> If there are none, I think I agree with what Jason (nocans) says
>>> >> >>>>> :-)
>>> >> >>>>>
>>> >> >>>>> On Sun, Jun 12, 2011 at 1:59 AM, nocans@xxxxxxxxx
>>> >> >>>>> <nocans@xxxxxxxxx>
>>> >> >>>>> wrote:
>>> >> >>>>> > Aside from the work of rearranging files and folders to match
>>> >> >>>>> > an
>>> >> >>>>> > archetype,
>>> >> >>>>> > I don't think it would be of a great benefit unless the project
>>> >> >>>>> > had
>>> >> >>>>> > its own
>>> >> >>>>> > nexus server.
>>> >> >>>>> > Is there some sort of free nexus server resource for open
>>> >> >>>>> > source
>>> >> >>>>> > projects ?
>>> >> >>>>> >
>>> >> >>>>> > On Sat, Jun 11, 2011 at 2:30 PM, Julien Nicoulaud
>>> >> >>>>> > <julien.nicoulaud@xxxxxxxxx> wrote:
>>> >> >>>>> >>
>>> >> >>>>> >> Hi all,
>>> >> >>>>> >> Just wanted to know, are you interested in Maven-inizing the
>>> >> >>>>> >> project
>>> >> >>>>> >> ? I
>>> >> >>>>> >> can do this.
>>> >> >>>>> >> Cheers,
>>> >> >>>>> >> Julien
>>> >> >>>>> >> --
>>> >> >>>>> >> Mailing list: https://launchpad.net/~syncany-team
>>> >> >>>>> >> Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
>>> >> >>>>> >> Unsubscribe : https://launchpad.net/~syncany-team
>>> >> >>>>> >> More help   : https://help.launchpad.net/ListHelp
>>> >> >>>>> >>
>>> >> >>>>> >
>>> >> >>>>> >
>>> >> >>>>> > --
>>> >> >>>>> > Mailing list: https://launchpad.net/~syncany-team
>>> >> >>>>> > Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
>>> >> >>>>> > Unsubscribe : https://launchpad.net/~syncany-team
>>> >> >>>>> > More help   : https://help.launchpad.net/ListHelp
>>> >> >>>>> >
>>> >> >>>>> >
>>> >> >>>>
>>> >> >>>
>>> >> >>
>>> >> >
>>> >> >
>>> >
>>> >
>>
>>
>

Attachment: log
Description: Binary data


Follow ups

References