You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Graham Matthews <gr...@orangedogsoftware.com> on 2013/03/14 20:26:48 UTC

How do I bundle the class files of a sub-project into a jar that isn't just a manifest?

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.



Re: How do I bundle the class files of a sub-project into a jar that isn't just a manifest?

Posted by Alex Boisvert <al...@gmail.com>.
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.
>
>
>
>

Re: How do I bundle the class files of a sub-project into a jar that isn't just a manifest?

Posted by Graham Matthews <gr...@orangedogsoftware.com>.
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.




Re: How do I bundle the class files of a sub-project into a jar that isn't just a manifest?

Posted by Alex Boisvert <al...@gmail.com>.
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.
>
>
>