[jsword-devel] maven vs ant

DM Smith dmsmith at crosswire.org
Sun Feb 21 12:52:06 MST 2010


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




More information about the jsword-devel mailing list