Does your problem go away if you explicitly depend on "jar"? Also, watch the execution of the tasks - is a "clean" being executed between "jar" and "onejarJar"?
~~ Robert. On 27 August 2010 10:46, Lars Heuer <[email protected]> wrote: > Hi all, > > During my build I create an additional jar which contains all > dependencies (they are added via jarjar). > > That works so far, but I cannot use the osgiManifest in my task: > > task onejarJar(type: Jar, dependsOn: repack ) { > baseName = jar.baseName + '-onejar' > from "$buildDir/onejar" > manifest = osgiManifest { > from(jar.manifest) > instruction 'Bundle-Activator', 'mypack.Activator' > instruction 'Import-Package', '!mypack.*, *' > } > } > > Leads to: > > Could not copy MANIFEST.MF to 'build\tmp\onejarJar\MANIFEST.MF'. > > (Stacktrace below) > > If I use > > manifest = project.manifest { > from(jar.manifest) > } > > everything is fine. > > Thanks in advance and best regards, > Lars > > Stacktrace: > > * Exception is: > org.gradle.api.GradleException: Could not copy MANIFEST.MF to > 'build\tmp\onejarJar\MANIFEST.MF'. > at > org.gradle.api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeEle > ment.java:70) > at > org.gradle.api.internal.file.MapFileTree$FileVisitDetailsImpl.getFile(MapFileTr > ee.java:125) > at > org.gradle.api.internal.file.AbstractFileTree$1.visitFile(AbstractFileTree.java > :38) > at > org.gradle.api.internal.file.AbstractFileTree$FilteredFileTree$1.visitFile(Abst > ractFileTree.java:135) > at > org.gradle.api.internal.file.MapFileTree$Visit.visit(MapFileTree.java:95) > at org.gradle.api.internal.file.MapFileTree.visit(MapFileTree.java:60) > at > org.gradle.api.internal.file.AbstractFileTree$FilteredFileTree.visit(AbstractFi > leTree.java:126) > at > org.gradle.api.internal.file.AbstractFileTree.getFiles(AbstractFileTree.java:36 > ) > at > org.gradle.api.internal.file.CompositeFileCollection.getFiles(CompositeFileColl > ection.java:37) > at > org.gradle.api.internal.file.CompositeFileCollection.getFiles(CompositeFileColl > ection.java:37) > at > org.gradle.api.internal.file.CompositeFileCollection.getFiles(CompositeFileColl > ection.java:37) > at > org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollec > tion.java:60) > at > org.gradle.api.internal.changedetection.DefaultFileSnapshotter.snapshot(Default > FileSnapshotter.java:42) > at > org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$Hist > oricExecution.calcCurrentState(DefaultTaskArtifactStateRepository.java:140) > at > org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$Hist > oricExecution.isUpToDate(DefaultTaskArtifactStateRepository.java:150) > at > org.gradle.api.internal.changedetection.DefaultTaskArtifactStateRepository$Task > ArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:289) > at > org.gradle.api.internal.changedetection.ShortCircuitTaskArtifactStateRepository > $1.isUpToDate(ShortCircuitTaskArtifactStateRepository.java:35) > at > org.gradle.api.internal.project.taskfactory.ExecutionShortCircuitTaskExecuter.e > xecute(ExecutionShortCircuitTaskExecuter.java:40) > at > org.gradle.api.internal.tasks.SkipTaskExecuter.doExecute(SkipTaskExecuter.java: > 57) > at > org.gradle.api.internal.tasks.SkipTaskExecuter.execute(SkipTaskExecuter.java:35 > ) > at > org.gradle.api.internal.tasks.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMo > stOnceTaskExecuter.java:32) > at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:231) > at > org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecu > ter.java:167) > at > org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecute > r.java:160) > at > org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter. > java:78) > at > org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBu > ildExecuter.java:161) > at > org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.ja > va:54) > at > org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.ja > va:54) > at > org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLaun > cher.java:153) > at > org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.j > ava:107) > at > org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java: > 75) > at org.gradle.launcher.Main.execute(Main.java:93) > at org.gradle.launcher.Main.main(Main.java:42) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja > va:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.gradle.launcher.GradleMain.main(GradleMain.java:49) > Caused by: java.lang.NullPointerException: null > at aQute.lib.osgi.Jar.getName(Jar.java:65) > at aQute.lib.osgi.Jar.<init>(Jar.java:55) > at aQute.lib.osgi.Analyzer.setJar(Analyzer.java:699) > at > org.gradle.api.internal.plugins.osgi.DefaultOsgiManifest.setAnalyzerProperties( > DefaultOsgiManifest.java:84) > at > org.gradle.api.internal.plugins.osgi.DefaultOsgiManifest.getEffectiveManifest(D > efaultOsgiManifest.java:62) > at > org.gradle.api.java.archives.internal.DefaultManifest.writeTo(DefaultManifest.j > ava:152) > at > org.gradle.api.java.archives.internal.DefaultManifest.writeTo(DefaultManifest.j > ava:36) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja > va:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoU > nwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) > at > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite > .java:52) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.jav > a:125) > at > org.gradle.api.tasks.bundling.Jar$_closure1_closure2.doCall(Jar.groovy:44) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja > va:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMeta > Class.java:273) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) > at groovy.lang.Closure.call(Closure.java:276) > at groovy.lang.Closure.call(Closure.java:289) > at > org.gradle.api.internal.file.MapFileTree$FileVisitDetailsImpl.copyTo(MapFileTre > e.java:143) > at > org.gradle.api.internal.file.AbstractFileTreeElement.copyFile(AbstractFileTreeE > lement.java:77) > at > org.gradle.api.internal.file.AbstractFileTreeElement.copyTo(AbstractFileTreeEle > ment.java:65) > ... 37 common frames omitted > > -- > Semagia > <http://www.semagia.com> > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
