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 <
[email protected]> 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 <
> > [email protected]> 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 <
> > [email protected]> 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.
>
>
>
>