[jsword-devel] maven vs ant

Trenton D. Adams trent.jsword at trentonadams.ca
Sun Feb 21 13:26:25 MST 2010


Oh, btw, let me know when you have success! :D

----- "trent jsword" <trent.jsword at trentonadams.ca> wrote:

> From: "trent jsword" <trent.jsword at trentonadams.ca>
> To: "J-Sword Developers Mailing List" <jsword-devel at crosswire.org>
> Sent: Sunday, February 21, 2010 2:03:16 PM GMT -06:00 US/Canada Central
> Subject: Re: [jsword-devel] maven vs ant
>
> Yeah, I miss-read the error.  I assumed it was looking for the apple
> stuff, and you're right, it apparently is include in the java system
> itself.
> 
> So yeah, I added the jsword-common-swing as well, and it just worked.
> 
> 
> Okay, extract these poms now, over top of your others, and it should
> just work.  I already tried this on my mac. Then run this.
> 
> mvn -Prun install
> 
> ----- "DM Smith" <dmsmith at crosswire.org> wrote:
> 
> > From: "DM Smith" <dmsmith at crosswire.org>
> > To: "J-Sword Developers Mailing List" <jsword-devel at crosswire.org>
> > Sent: Sunday, February 21, 2010 1:52:06 PM GMT -06:00 US/Canada
> Central
> > Subject: Re: [jsword-devel] maven vs ant
> >
> > On Feb 21, 2010, at 2:27 PM, trent.jsword at trentonadams.ca wrote:
> > 
> > > Yeah, that's the one I mentioned, about needing the aqua
> dependency.
> >  So, you need to add a dependency to the common-aqua/pom.xml
> > 
> > I'm not sure I understand. The error was that it couldn't find
> > common-swing. When I added the jsword-common-swing dependency I
> found
> > in the bibledesktop/pom.xml, the error went away.
> > 
> > The common-aqua depends on ui.jar which is part of Apple's Java.
> > Shouldn't it just find it? Granted we don't have a stub for it when
> on
> > any other platform. I could create one if it is really needed.
> > 
> > > 
> > > So, take the apple jar that you need, and do something like this,
> > but adapt it as necessary...
> > > mvn deploy:deploy-file -Dfile=aqua-1.0.jar -DartifactId=aqua
> > -Dpackaging=jar -DgroupId=com.apple -Dversion=1.0
> > -Durl=file:///home/trenta/.m2/repository/
> > > 
> > > All the above does, is install the jar into your local repository
> at
> > ~/.m2/repository so that ant doesn't have to download it from
> > somewhere, as it doesn't exist anywhere on the web.  local repos
> are
> > structured the same as remote ones, just the protocol is file://
> > instead of http://
> > > 
> > > Whatever you use for groupId and artifactId, your dependency in
> the
> > common-aqua/pom.xml should be the same.  For example...
> > >    <dependency>
> > >      <groupId>com.apple</groupId>
> > >      <artifactId>aqua</artifactId>
> > >      <version>1.0</version>
> > >      <scope>compile</scope>
> > >    </dependency>
> > > 
> > > ----- "DM Smith" <dmsmith at crosswire.org> wrote:
> > > 
> > >> From: "DM Smith" <dmsmith at crosswire.org>
> > >> To: "J-Sword Developers Mailing List"
> <jsword-devel at crosswire.org>
> > >> Sent: Sunday, February 21, 2010 1:16:57 PM GMT -06:00 US/Canada
> > Central
> > >> Subject: Re: [jsword-devel] maven vs ant
> > >> 
> > >> I get the error while building common-aqua:
> > >> 
> > >> [INFO] Building common-aqua
> > >> [INFO]    task-segment: [test]
> > >> [INFO]
> > >>
> >
> ------------------------------------------------------------------------
> > >> [INFO] [resources:resources {execution: default-resources}]
> > >> [INFO] Using 'iso-8859-1' encoding to copy filtered resources.
> > >> [INFO] Copying 0 resource
> > >> [INFO] [compiler:compile {execution: default-compile}]
> > >> [INFO] Compiling 1 source file to
> > >> /Users/dm/Documents/JSword/common-aqua/target/classes
> > >> [INFO]
> > >>
> >
> ------------------------------------------------------------------------
> > >> [ERROR] BUILD FAILURE
> > >> [INFO]
> > >>
> >
> ------------------------------------------------------------------------
> > >> [INFO] Compilation failure
> > >> 
> > >>
> >
> /Users/dm/Documents/JSword/common-aqua/src/main/java/org/crosswire/common/aqua/OSXAdapter.java:[3,33]
> > >> package org.crosswire.common.swing does not exist
> > >> 
> > >>
> >
> /Users/dm/Documents/JSword/common-aqua/src/main/java/org/crosswire/common/aqua/OSXAdapter.java:[11,23]
> > >> cannot find symbol
> > >> symbol  : class Actionable
> > >> location: class org.crosswire.common.aqua.OSXAdapter
> > >> 
> > >>
> >
> /Users/dm/Documents/JSword/common-aqua/src/main/java/org/crosswire/common/aqua/OSXAdapter.java:[25,49]
> > >> cannot find symbol
> > >> symbol  : class Actionable
> > >> location: class org.crosswire.common.aqua.OSXAdapter
> > >> 
> > >>
> >
> /Users/dm/Documents/JSword/common-aqua/src/main/java/org/crosswire/common/aqua/OSXAdapter.java:[104,12]
> > >> cannot find symbol
> > >> symbol  : class Actionable
> > >> location: class org.crosswire.common.aqua.OSXAdapter
> > >> 
> > >> On Feb 21, 2010, at 1:57 PM, trent.jsword at trentonadams.ca wrote:
> > >> 
> > >>> Hi DM,
> > >>> 
> > >>> I didn't see you mention any errors, other than the encoding
> > issue. 
> > >> I'll try this on my wife's mac.    
> > >>> 
> > >>> For now, responses below...
> > >>> 
> > >>> ----- "DM Smith" <dmsmith at crosswire.org> wrote:
> > >>> 
> > >>>> From: "DM Smith" <dmsmith at crosswire.org>
> > >>>> To: "J-Sword Developers Mailing List"
> > <jsword-devel at crosswire.org>
> > >>>> Sent: Sunday, February 21, 2010 12:23:23 PM GMT -06:00
> US/Canada
> > >> Central
> > >>>> Subject: Re: [jsword-devel] maven vs ant
> > >>>> 
> > >>>> Trent,
> > >>>> It did not work for me. I'm attaching the output. One of the
> > >> things
> > >>>> I'm curious about is why it downloaded stuff that BibleDesktop
> > >> (and
> > >>>> the libraries it uses) does not need. E.g. jetty, plexus, oro,
> > >>>> velocity doxia-module-xml, ....
> > >>>> 
> > >>>> The POM is using the platform's default encoding. Should it?
> In
> > my
> > >>>> case it is MacRoman. None of the files are MacRoman. They are
> > >> either 7
> > >>>> bit ascii or UTF-8.
> > >>> 
> > >>> Yeah, we need to specify the proper encoding.  I tried with
> > UTF-8,
> > >> and apparently those java files are not UTF-8 in the tests
> folder
> > of
> > >> jsword I think it is.  I'll try again later.
> > >>> 
> > >>> The trunk/pom.xml that I recently sent should have the new
> > encoding
> > >> properties
> > >>> 
> > >>
> >
> <project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding>
> > >>> 
> > >>> 
> > >>
> >
> <project.reporting.outputEncoding>iso-8859-1</project.reporting.outputEncoding>
> > >>> 
> > >>> I'll try ascii, and what not.
> > >>> 
> > >>>>> I still need to do at least the following...
> > >>>>> - jar signing # never done it before
> > >>>>> - run bibledesktop using a profile
> > >>>>> - work something out for the jlfgr jar.  Perhaps those should
> > >> just
> > >>>> be in the bibledesktop resources?  Or should they be in their
> > own
> > >>>> module?  We could just create a sub module, with no source
> > files,
> > >> and
> > >>>> only "src/main/resources", and package them in a jar
> > >> automatically?
> > >>>> 
> > >>>> jlfgr is Sun's (now Oracle's) Java Look and Feel Graphics
> > >> Repository.
> > >>>> I'd be just as happy to replace the library outright. We only
> > use
> > >> it
> > >>>> in the menus and toolbar for icons.
> > >>> 
> > >>> Okay, I'll check if that's available.
> > >>> 
> > >>>>> - the jsword project lead needs to prepare an account on a
> > public
> > >>>> maven repository, so we can push these things through maven. 
> > >> Assuming
> > >>>> of course that is what you guys want to do.  Or, if you really
> > >> want,
> > >>>> we can setup a maven.crosswire.org repository, and just put
> that
> > >> in
> > >>>> the base pom.
> > >>>> 
> > >>>> That would be me. But I need guidance... :)
> > >>> 
> > >>> It might be best to do a crosswire repo first, and then once we
> > have
> > >> our stuff together, perhaps look at going with maven's default
> > >> repositories.  Any thoughts?
> > >>> 
> > >>> I've only done ssh based distribution management before.  The
> > >> repository is configured to allow devs to upload using scp, and
> > then
> > >> regular users download from it via http.  But, there may be a
> way
> > of
> > >> allowing the HTTP PUT method, I'm not sure.  We'll have to
> > >> investigate.
> > >>> 
> > >>>> 
> > >>>>> 
> > >>>>> I highly recommend the core developers move ALL resources to
> > >>>> "src/main/resources" of each sub module.
> > >>>> 
> > >>>> What qualifies as a resource?
> > >>>> I'm in the process of moving files containing string
> > translations
> > >> to
> > >>>> there.
> > >>> 
> > >>> I would say that anything that is not source code, is a
> resource.
> > 
> > >> Obviously the resources folder needs sub folders so that you can
> > keep
> > >> the same structure once it gets copied to target/classes/  so,
> if
> > the
> > >> resource was org/crosswire/jsword/BookDriver.plugin then it
> would
> > be
> > >> in src/main/resources/org/crosswire/jsword/BookDriver.plugin
> > >>> 
> > >>>> Let me know of specific files that should be moved to
> > >>>> src/test/resources.
> > >>> 
> > >>> Oh, well that would be anything in src/test/java/ that's not a
> > java
> > >> source file.
> > >>> 
> > >>> The following seems to work for resource copying, so probably
> all
> > of
> > >> those.  But again, I don't know which folders have which
> resources,
> > so
> > >> I just put all of these everywhere. :P
> > >>> 
> > >>>         <include>**/*.properties</include>
> > >>>         <include>**/*.plugin</include>
> > >>>         <include>**/*.png</include>
> > >>>         <include>**/*.gif</include>
> > >>>         <include>**/*.txt</include>
> > >>>         <include>**/*.xml</include>
> > >>>         <include>**/*.xsl</include>
> > >>>> 
> > >>>>> 
> > >>>>> The following commands, from the command line, should work. 
> At
> > >> some
> > >>>> point, I'll try it in eclipse for you guys, and see if there's
> > any
> > >>>> maven related problems.  I don't use eclipse, so I don't know
> > yet.
> > >>>> 
> > >>>> I used to do all of my development in vi and emacs. I like
> > Eclipse
> > >>>> because it has safe refactoring.
> > >>> 
> > >>> Yeah, I was using vi for quite awhile.  I use IDEA now, because
> > it
> > >> seems to be the best IDE out there.  They do offer free versions
> > for
> > >> open source projects, if you wanted to try it.  But, eclipse is
> > more
> > >> widely used in open source projects, which drives me nuts, cause
> I
> > >> think it's the worst one out there (between NetBeans, eclipse,
> and
> > >> IDEA). :P  eclipse features are fine, it's just IMO, it's about
> as
> > >> convoluted as you can get, for an IDE.  Seems like you have to
> > jump
> > >> through hoop after hoop to get anything done.
> > >>> 
> > >>> 
> > >>> 
> > >>> 
> > >>> _______________________________________________
> > >>> jsword-devel mailing list
> > >>> jsword-devel at crosswire.org
> > >>> http://www.crosswire.org/mailman/listinfo/jsword-devel
> > >> 
> > >> 
> > >> _______________________________________________
> > >> jsword-devel mailing list
> > >> jsword-devel at crosswire.org
> > >> http://www.crosswire.org/mailman/listinfo/jsword-devel
> > > 
> > > _______________________________________________
> > > jsword-devel mailing list
> > > jsword-devel at crosswire.org
> > > http://www.crosswire.org/mailman/listinfo/jsword-devel
> > 
> > 
> > _______________________________________________
> > jsword-devel mailing list
> > jsword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/jsword-devel
> 
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel



More information about the jsword-devel mailing list