buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Boisvert <alex.boisv...@gmail.com>
Subject Re: How do I bundle the class files of a sub-project into a jar that isn't just a manifest?
Date Sun, 17 Mar 2013 21:42:37 GMT
Hi Graham,

Sorry for the late reply, it's been been a busy few days.

Here's how I would specify your layout/project structure,

layout = Layout.new
layout[:source, :main, :java] = "src"

define 'killer-app', :layout => layout do
   project.version = "1.0"

   define 'api', :base_dir => 'src/api' do
     package(:jar, :id => 'api')
   end

   define 'util', :base_dir => 'src/util' do
     compile.with(project('api'))
     package :jar, :id => 'util'
   end
end

Hope this gets you started in the right direction.

alex


On Thu, Mar 14, 2013 at 12:58 PM, Graham Matthews <
graham@orangedogsoftware.com> wrote:

> Hi
>
> My source directory looks as below.
>
> It's just a copy of a Netbeans src structure (so a Netbeans project with
> everything but the src directory removed).
>
> thanks
> graham
>
>
> src
> ├── api
> │   └── src
> │       ├── com
> │       │   └── ods
> │       │       └── infoforge
> │       │           └── api
> │       │               ├── middleware
> │       │               │   ├── classes
> │       │               │   │   ├── ResultSetStatus.java
> │       │               │   │   └── Scrollability.java
> │       │               │   ├── exception
> │       │               │   │   ├── ClientServerException.java
> │       │               │   │   ├── InfoForgeServiceException.java
> │       │               │   │   ├── ResultSetClosedException.java
> │       │               │   │   └── UnboundException.java
> │       │               │   └── interfaces
> │       │               └── vocabulary
> │       │                   ├── BasicVocabulary.java
> │       │                   ├── ConfigurationVocabulary.java
> │       │                   ├── DataTypes.java
> │       │                   ├── FavoritesVocabulary.java
> │       │                   ├── FromXSDString.java
> │       │                   ├── ODSMappingVocabulary.java
> │       │                   ├── OWLRDFXSD.java
> │       │                   ├── QueryModelVocabulary.java
> │       │                   ├── ServerVocabulary.java
> │       │                   └── ToXSDString.java
> │       └── org
> │           └── w3
> │               ├── _1999
> │               │   └── _02
> │               │       └── _22_rdf_syntax_ns_
> │               │           └── ObjectFactory.java
> │               └── _2005
> │                   ├── _08
> │                   │   └── sparql_protocol_query
> │                   │       ├── MalformedQueryFault.java
> │                   │       ├── QueryRequestRefusedFault.java
> │                   │       ├── QuerySoapService.java
> │                   │       └── SparqlQueryInterface.java
> │                   ├── _09
> │                   │   └── sparql_protocol_types
> │                   │       ├── MalformedQuery.java
> │                   │       ├── ObjectFactory.java
> │                   │       ├── QueryRequest.java
> │                   │       ├── QueryRequestRefused.java
> │                   │       ├── QueryResult.java
> │                   │       └── package-info.java
> │                   └── sparql_results
> │                       ├── Binding.java
> │                       ├── Head.java
> │                       ├── Link.java
> │                       ├── Literal.java
> │                       ├── ObjectFactory.java
> │                       ├── Result.java
> │                       ├── Results.java
> │                       ├── Sparql.java
> │                       ├── Variable.java
> │                       └── package-info.java
> └── util
>     └── src
>         └── com
>             └── ods
>                 └── util
>                     ├── AbstractListenerManager.java
>                     ├── CallableHolder.java
>                     ├── CartesianProduct.java
>                     ├── CartesianProductIterator.java
>                     ├── DirectoryListing.java
>                     ├── ExceptionUtils.java
>                     ├── FileUtils.java
>                     ├── GenericProxy.java
>                     ├── HomogeneousTuple.java
>                     ├── IDelta.java
>                     ├── IDeltaExtended.java
>                     ├── IFunction0NoException.java
>                     ├── IFunction1.java
>                     ├── IFunction1E.java
>                     ├── IFunction1NoException.java
>                     ├── IFunction2.java
>                     ├── IListenerManager.java
>                     ├── INameSource.java
>                     ├── IRDFDeserializationContext.java
>                     ├── IRDFSerializationContext.java
>                     ├── IRIResolver.java
>                     ├── JenaUtils.java
>                     ├── ListUtils.java
>                     ├── LoggingUtils.java
>                     ├── MapUtils.java
>                     ├── Memoizer.java
>                     ├── NameSource.java
>                     ├── Pair.java
>                     ├── Platform.java
>                     ├── Sort.java
>                     ├── SourceLocation.java
>                     ├── StringUtility.java
>                     ├── SubjectSelector.java
>                     ├── Synchronizer.java
>                     ├── Timings.java
>                     ├── Triple.java
>                     ├── URIHelper.java
>                     └── exception
>                         ├── BadPrefixedNameException.java
>                         ├── BaseRedefinedException.java
>                         ├── BaseUndefinedException.java
>                         ├── Bug.java
>                         ├── MissingVocabException.java
>                         ├── NotImplementedError.java
>                         ├── PrefixRedefinedException.java
>                         ├── PrefixUndefinedException.java
>                         ├── VocabException.java
>                         └── VocabJustOneException.java
>
>
>
> 75 directories, 183 files
>
> On Mar 14, 2013, at 12:45 PM, Alex Boisvert wrote:
>
> > What's the overall structure of your project?  Can you send the output of
> > the `tree` command from th top-level?
> >
> >
> > On Thu, Mar 14, 2013 at 12:26 PM, Graham Matthews <
> > graham@orangedogsoftware.com> wrote:
> >
> >> Hi
> >>
> >> I have a build file as below, and I am trying to generate one jar per
> >> sub-project -- so bundle the compiled classes into a jar file (i need
> that
> >> since I need to do some specific post-processing on the jars).
> >>
> >> My build file kinda does this, but the jar it generates is just a
> >> manifest, and not an actual jar -- there is nothing in it except the
> >> manifest.
> >>
> >> I must be missing something obvious, since I have the same problem using
> >> Gradle.
> >>
> >> Any help would be greatly appreciated.
> >>
> >> thanks
> >> graham
> >>
> >> -----
> >>
> >> require "buildr/openjpa"
> >>
> >> include Buildr::OpenJPA
> >>
> >> $base = "/Users/graham/Documents/infoforge/build/"
> >> $src = $base + "src/"
> >> $libs = "/Users/graham/Documents_NO_BUP/odslibs/"
> >>
> >> $LIB_IRI = file($libs + "iri-0.8.jar")
> >>
> >> repositories.remote << 'http://repo1.maven.org/maven2'
> >>
> >> define 'killer-app' do
> >>
> >>   project.version = "1.0"
> >>
> >>   layout = Layout.new
> >>   layout[:source, :main, :java] = $src + name
> >>
> >>   LIBS = Dir[_($libs+"/*.jar")]
> >>   compile.with LIBS
> >>
> >>   compile.from("/Users/graham/Documents/infoforge/build/src")
> >>   compile.options.source = "1.7"
> >>
> >>   define 'api' do
> >>       package :jar, :id=>'api'
> >>   end
> >>
> >>   define 'util' do
> >>       compile.with(project('api'))
> >>       package :jar, :id=>'util'
> >>   end
> >>
> >> end
> >> -----
> >> Graham Matthews
> >> CEO
> >> OrangeDog
> >> -----
> >>
> >> The information contained in this message (including any files
> transmitted
> >> with this message) may contain proprietary, trade secret or other
> >> confidential and/or legally privileged information. Any pricing
> information
> >> contained in this message (or in any files transmitted with this
> message)
> >> is confidential and cannot be shared with any third parties without
> prior
> >> written approval from OrangeDog. This message is intended to be read
> only
> >> by the individual or entity to whom it is addressed or by their
> designee.
> >> If the reader of this message is not the intended recipient, you are on
> >> notice that any use, disclosure, copying or distribution of this
> message,
> >> in any form, is strictly prohibited. If you have received this message
> in
> >> error, please immediately notify the sender and/or OrangeDog and destroy
> >> all copies of this message in your possession, custody or control.
> >>
> >>
> >>
>
> -----
> Graham Matthews
> CEO
> OrangeDog
> -----
>
> The information contained in this message (including any files transmitted
> with this message) may contain proprietary, trade secret or other
> confidential and/or legally privileged information. Any pricing information
> contained in this message (or in any files transmitted with this message)
> is confidential and cannot be shared with any third parties without prior
> written approval from OrangeDog. This message is intended to be read only
> by the individual or entity to whom it is addressed or by their designee.
> If the reader of this message is not the intended recipient, you are on
> notice that any use, disclosure, copying or distribution of this message,
> in any form, is strictly prohibited. If you have received this message in
> error, please immediately notify the sender and/or OrangeDog and destroy
> all copies of this message in your possession, custody or control.
>
>
> On Mar 14, 2013, at 12:45 PM, Alex Boisvert wrote:
>
> > What's the overall structure of your project?  Can you send the output of
> > the `tree` command from th top-level?
> >
> >
> > On Thu, Mar 14, 2013 at 12:26 PM, Graham Matthews <
> > graham@orangedogsoftware.com> wrote:
> >
> >> Hi
> >>
> >> I have a build file as below, and I am trying to generate one jar per
> >> sub-project -- so bundle the compiled classes into a jar file (i need
> that
> >> since I need to do some specific post-processing on the jars).
> >>
> >> My build file kinda does this, but the jar it generates is just a
> >> manifest, and not an actual jar -- there is nothing in it except the
> >> manifest.
> >>
> >> I must be missing something obvious, since I have the same problem using
> >> Gradle.
> >>
> >> Any help would be greatly appreciated.
> >>
> >> thanks
> >> graham
> >>
> >> -----
> >>
> >> require "buildr/openjpa"
> >>
> >> include Buildr::OpenJPA
> >>
> >> $base = "/Users/graham/Documents/infoforge/build/"
> >> $src = $base + "src/"
> >> $libs = "/Users/graham/Documents_NO_BUP/odslibs/"
> >>
> >> $LIB_IRI = file($libs + "iri-0.8.jar")
> >>
> >> repositories.remote << 'http://repo1.maven.org/maven2'
> >>
> >> define 'killer-app' do
> >>
> >>   project.version = "1.0"
> >>
> >>   layout = Layout.new
> >>   layout[:source, :main, :java] = $src + name
> >>
> >>   LIBS = Dir[_($libs+"/*.jar")]
> >>   compile.with LIBS
> >>
> >>   compile.from("/Users/graham/Documents/infoforge/build/src")
> >>   compile.options.source = "1.7"
> >>
> >>   define 'api' do
> >>       package :jar, :id=>'api'
> >>   end
> >>
> >>   define 'util' do
> >>       compile.with(project('api'))
> >>       package :jar, :id=>'util'
> >>   end
> >>
> >> end
> >> -----
> >> Graham Matthews
> >> CEO
> >> OrangeDog
> >> -----
> >>
> >> The information contained in this message (including any files
> transmitted
> >> with this message) may contain proprietary, trade secret or other
> >> confidential and/or legally privileged information. Any pricing
> information
> >> contained in this message (or in any files transmitted with this
> message)
> >> is confidential and cannot be shared with any third parties without
> prior
> >> written approval from OrangeDog. This message is intended to be read
> only
> >> by the individual or entity to whom it is addressed or by their
> designee.
> >> If the reader of this message is not the intended recipient, you are on
> >> notice that any use, disclosure, copying or distribution of this
> message,
> >> in any form, is strictly prohibited. If you have received this message
> in
> >> error, please immediately notify the sender and/or OrangeDog and destroy
> >> all copies of this message in your possession, custody or control.
> >>
> >>
> >>
>
> -----
> Graham Matthews
> CEO
> OrangeDog
> -----
>
> The information contained in this message (including any files transmitted
> with this message) may contain proprietary, trade secret or other
> confidential and/or legally privileged information. Any pricing information
> contained in this message (or in any files transmitted with this message)
> is confidential and cannot be shared with any third parties without prior
> written approval from OrangeDog. This message is intended to be read only
> by the individual or entity to whom it is addressed or by their designee.
> If the reader of this message is not the intended recipient, you are on
> notice that any use, disclosure, copying or distribution of this message,
> in any form, is strictly prohibited. If you have received this message in
> error, please immediately notify the sender and/or OrangeDog and destroy
> all copies of this message in your possession, custody or control.
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message