This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 167203 - It takes too long to generate a manifest
Summary: It takes too long to generate a manifest
Status: RESOLVED INVALID
Alias: None
Product: apisupport
Classification: Unclassified
Component: Maven (show other bugs)
Version: 6.x
Hardware: All Windows Vista
: P3 blocker (vote)
Assignee: Milos Kleint
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-17 08:43 UTC by algone
Modified: 2009-10-15 12:32 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description algone 2009-06-17 08:43:43 UTC
I am building a Netbeans based platform application using maven. In one of my modules, it takes on average 6 minutes to
build. The process seems to stop where the manifest is being generated. Previously there was a problem with transitive
dependencies, but after I sorted these out, the build still takes too long. Here is the output fragment of my last build:

[nbm:manifest]
NBM Plugin generates manifest
Adding on module's Class-Path:
    eu.esdihumboldt:workflow-service:jar:2.0
    org.geotools:gt2-referencing:jar:2.4.4
    java3d:vecmath:jar:1.3.1
    org.geotools:gt2-main:jar:2.4.4
    org.geotools:gt2-api:jar:2.4.4
    com.vividsolutions:jts:jar:1.8
    jdom:jdom:jar:1.0
    edu.oswego:concurrent:jar:1.3.4
    commons-beanutils:commons-beanutils:jar:1.7.0
    org.geotools:gt2-wms:jar:2.4.4
    org.geotools:gt2-coverage:jar:2.4.4
    org.geotools:gt2-xml:jar:2.4.4
    org.geotools:gt2-xml-xsd:jar:2.4.4
    org.geotools:gt2-graph:jar:2.4.4
    picocontainer:picocontainer:jar:1.2
    xsdlib:xsdlib:jar:20050614
    relaxng:relaxngDatatype:jar:X
    jaxb:jaxb-api:jar:1.3
    jaxb:jaxb-impl:jar:1.3
    jaxb:jaxb-libs:jar:1.3
    xml-apis:xml-apis-xerces:jar:2.7.1
    commons-jxpath:commons-jxpath:jar:1.2
    ant:ant-optional:jar:1.5.1
    commons-collections:commons-collections:jar:3.1
    org.eclipse.xsd:xsd:jar:2.2.2
    org.eclipse.emf:common:jar:2.2.1
    org.eclipse.emf:ecore:jar:2.2.2
    commons-lang:commons-lang:jar:2.1
    org.geotools:gt2-epsg-hsql:jar:2.4.4
    hsqldb:hsqldb:jar:1.8.0.7
    org.geotools:gt2-metadata:jar:2.4.4
    org.opengis:geoapi-nogenerics:jar:2.1.0
    javax.units:jsr108:jar:0.01
    jaxen:jaxen:jar:1.1.1
    xml-apis:xml-apis:jar:1.3.02
    xerces:xercesImpl:jar:2.6.2
    xom:xom:jar:1.0
    xerces:xmlParserAPIs:jar:2.6.2
    xalan:xalan:jar:2.6.0
    eu.esdihumboldt:information-grounding-service:jar:2.0
    commons-logging:commons-logging-api:jar:1.1
    commons-codec:commons-codec:jar:1.3
    org.springframework.ws:spring-xml:jar:1.0-rc2
    org.hibernate:hibernate:jar:3.0
    commons-httpclient:commons-httpclient:jar:3.0.1
    org.codehaus.castor:spring-xml:jar:1.1-SNAPSHOT
    jaxp:jaxp:jar:1.4.2
    org.apache.tuscany.sca:tuscany-sca-all:jar:1.0-incubating
    com.thoughtworks.xstream:xstream:jar:1.3.1
    xpp3:xpp3_min:jar:1.1.4c
    mysql:mysql-connector-java:jar:5.1.6
    org.springframework:spring-webmvc:jar:2.5
    commons-logging:commons-logging:jar:1.1
    org.springframework:spring-beans:jar:2.5
    org.springframework:spring-context:jar:2.5
    aopalliance:aopalliance:jar:1.0
    org.springframework:spring-context-support:jar:2.5
    org.springframework:spring-core:jar:2.5
    org.springframework:spring-web:jar:2.5
    org.springframework:spring:jar:2.5
    org.apache.struts:struts-core:jar:1.3.8
    antlr:antlr:jar:2.7.2
    commons-chain:commons-chain:jar:1.1
    commons-digester:commons-digester:jar:1.8
    commons-validator:commons-validator:jar:1.3.1
    oro:oro:jar:2.0.8
    org.apache.struts:struts-el:jar:1.3.8
    javax.servlet:jstl:jar:1.0.2
    taglibs:standard:jar:1.0.2
    org.apache.struts:struts-extras:jar:1.3.8
    org.apache.struts:struts-faces:jar:1.3.8
    org.apache.struts:struts-mailreader-dao:jar:1.3.8
    org.apache.struts:struts-scripting:jar:1.3.8
    bsf:bsf:jar:2.3.0
    org.apache.struts:struts-taglib:jar:1.3.8
    org.apache.struts:struts-tiles:jar:1.3.8
    dom4j:dom4j:jar:1.6.1
    org.opengis:geoapi:jar:2.1.0
    eu.esdihumboldt:specification:jar:2.0
    eu.esdihumboldt:common-library:jar:2.0
    log4j:log4j:jar:1.2.15
    javax.mail:mail:jar:1.4
    javax.activation:activation:jar:1.1
    javax.jms:jms:jar:1.1
    com.sun.xml.bind:jaxb-impl:jar:2.1.7
    javax.xml.bind:jaxb-api:jar:2.1
    javax.xml.stream:stax-api:jar:1.0-2
    org.codehaus.castor:castor:jar:1.2
[resources:testResources]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
skip non existing resourceDirectory
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\src\test\resources
[compiler:testCompile]
Not compiling test sources
[surefire:test]
Tests are skipped.
[jar:jar]
Adding existing MANIFEST to archive. Found under:
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\target\classes\META-INF\MANIFEST.MF
Building jar:
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\target\TransformersView-1.0-SNAPSHOT.jar
[nbm:nbm]
Copying module jar to
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\target\nbm\netbeans\foobar\modules
[WARNING] Cannot find license file at
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\license.txt
[WARNING] You don't define distributionUrl parameter in the nbm-maven-plugin configuration. That's ok for local
installation but f you want to create an autoupdate site, you have to define this property.
[WARNING]   Using default value for distribution URL: null
[install:install]
Installing
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\target\TransformersView-1.0-SNAPSHOT.jar to
C:\Users\mgone\.m2\repository\eu\esdihumboldt\TransformersView\1.0-SNAPSHOT\TransformersView-1.0-SNAPSHOT.jar
Installing
C:\Users\mgone\Documents\NetBeansProjects\WorkflowFrontend\TransformersView\target\TransformersView-1.0-SNAPSHOT.nbm to
C:\Users\mgone\.m2\repository\eu\esdihumboldt\TransformersView\1.0-SNAPSHOT\TransformersView-1.0-SNAPSHOT.nbm
------------------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------------------
Total time: 514 minutes 5 seconds
Finished at: Wed Jun 17 09:17:21 CEST 2009
Final Memory: 20M/51M
Comment 1 Milos Kleint 2009-06-17 09:09:11 UTC
the manifest goal checks the usage of classed in the module and matches them against the classes provided by
dependencies. Your module has a lot of classpath items (3rd party jars included in the module), that's why it takes time.

You should be able to skip the verification process: 
http://mojo.codehaus.org/nbm-maven-plugin/manifest-mojo.html#verifyRuntime
but then you run into risk that your module references classes from transitive dependencies of other modules that are
not exposed by the module via public packages. If that doesn't matter in your case, fine.

alternatively if this is a single module that is just a 3rd party library wrapper and doesn't change often, you could
handle it's lifecycle separately (eg. build and version separately) and only consume the binaries in the regular build.

Comment 2 Milos Kleint 2009-10-15 12:32:26 UTC
closing as invalid, belongs to the nbm-maven-plugin's http://jira.codehaus.org/browse/MNBMODULE issue tracking. not in
netbeans codebase. feel free to file there if the problem persists