[MAVEN_INCREMENTAL_BUILD-15] Make plugin @threadSafe Created: 22/Nov/12  Updated: 11/Mar/14  Resolved: 11/Mar/14

Status: Resolved
Project: maven-incremental-build
Component/s: None
Affects Version/s: 1.6
Fix Version/s: 1.7

Type: New Feature Priority: Major
Reporter: Mikhail Mazursky Assignee: jcarsique
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Maven 3.0.4



 Description   

Mark the plugin with @threadSafe to avoid warning:

[INFO] [WARNING] *****************************************************************
[WARNING] * Your build is requesting parallel execution, but project *
[WARNING] * contains the following plugin(s) that are not marked as *
[WARNING] * @threadSafe to support parallel building. *
[WARNING] * While this /may/ work fine, please look for plugin updates *
[WARNING] * and/or request plugins be made thread-safe. *
[WARNING] * If reporting an issue, report it against the plugin in *
[WARNING] * question, not against maven-core *
[WARNING] *****************************************************************
[WARNING] The following plugins are not marked @threadSafe in __project__:
[WARNING] net.java.maven-incremental-build:incremental-build-plugin:1.6
[WARNING] *****************************************************************



 Comments   
Comment by swolk [ 02/Feb/13 ]

Can I safely ignore this message or is this plugin truly not safe for parallel builds?

Comment by jcarsique [ 27/Jan/14 ]

Seems to work fine with the following patch:
https://maven.nuxeo.org/nexus/service/local/artifact/maven/redirect?r=vendor-releases&g=net.java.maven-incremental-build&a=incremental-build-plugin&v=1.6-NX1&e=patch&c=patch

https://maven.nuxeo.org/nexus/index.html#nexus-search;gav~~incremental-build-plugin~1.6-NX1~~





[MAVEN_INCREMENTAL_BUILD-14] java.lang.IllegalStateException: basedir ........target\classes does not exist Created: 04/May/12  Updated: 04/May/12

Status: Open
Project: maven-incremental-build
Component/s: None
Affects Version/s: 1.6
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Javatar007 Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: basedir, classes, empty, exception, missing, src

 Description   

Seems to be caused by empty 'project/src' folder.
In our multimodule project there are some submodules for generating from wsdl. These have empty 'src' folder.
(I've replaced the long project path by '(...)' in the log below).


[INFO] Building XConnector
[INFO] task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [incremental-build:incremental-build

{execution: default}

]
[INFO] Verifying module descriptor ...
[INFO] Verifying parent modules...
[INFO] Verifying resources...
[INFO] Resources directory does not exist : C:(...)\res
[INFO] Verifying sources...
[INFO] No target directory, build is required.
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] basedir C:(...)\target\classes does not exist
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalStateException: basedir C:(...)\classes does not exist
at org.codehaus.plexus.util.DirectoryScanner.scan(DirectoryScanner.java:542)
at net.java.mavenincrementalbuild.IncrementalBuildMojo.directoryUpdated(IncrementalBuildMojo.java:259)
at net.java.mavenincrementalbuild.IncrementalBuildMojo.sourcesUpdated(IncrementalBuildMojo.java:306)
at net.java.mavenincrementalbuild.IncrementalBuildMojo.execute(IncrementalBuildMojo.java:135)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)


This exception is not thrown when using version 1.5.






[MAVEN_INCREMENTAL_BUILD-13] Class removal not detected correctly. Created: 02/Mar/12  Updated: 06/Mar/12  Resolved: 06/Mar/12

Status: Resolved
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: None
Fix Version/s: 1.6

Type: Bug Priority: Critical
Reporter: mrleit Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 (64 bit)



 Description   

We had problems our CI server where a couple of unit tests were deleted but still running after a build. And subsequently failing the build as their dependencies were missing. The plugin doesn't appear to clean the target directory correctly in this scenario.

It appears this is related to the modification detection code only checking the latest source modification times. For a deleted file this will never trigger a clean of the target directory and hence the source code is left in the target directory.

lastSourceModificationDate > lastTargetModificationDate



 Comments   
Comment by vsellier [ 06/Mar/12 ]

You are true, source or test removal must be detected by the plugin.





[MAVEN_INCREMENTAL_BUILD-12] Plugin looks for a resources directory in POM modules where it is not necessary Created: 25/Jul/11  Updated: 06/Mar/12  Resolved: 27/Jan/12

Status: Resolved
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: 1.4
Fix Version/s: 1.5

Type: Bug Priority: Critical
Reporter: yohanliyanage Assignee: vsellier
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 11.04, Maven 2.2.1



 Description   

I am running Maven Incremental Build on a multi-module project. The parent module does not have a src/resources or src/java directory because it is a POM module.

When the plugin executes, it says that src/resources is not found also also states that a resource has been deleted, and therefore it cleans the parent module, which leads to a full build instead of an incremental build.

Output from Plugin :

[INFO] ------------------------------------------------------------------------
[INFO] Building XXXX
[INFO] task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [incremental-build:incremental-build

{execution: default}

]
[INFO] Verifying module descriptor ...
[INFO] Verifying parent modules...
[INFO] Verifying resources...
[INFO] Resources directory does not exist : /home/yohan/workspace/XXXX/src/main/resources
[INFO] A resource was deleted, module have to be cleaned
[INFO] Deleting /home/yohan/workspace/XXXX/target
[INFO] [site:attach-descriptor

{execution: default-attach-descriptor}

]
[INFO] [install:install

{execution: default-install}

]
[INFO] Installing /home/yohan/workspace/XXX/pom.xml to /home/yohan/.m2/repository/XXXX/0.0.1-SNAPSHOT/XXXX-0.0.1-SNAPSHOT.pom



 Comments   
Comment by mrleit [ 26/Jan/12 ]

I was looking at this same problem, and because it was occurring at the top level of our hierarchy it caused the entire structure to rebuild.

I checked out trunk and I believe I isolated and fixed the problem, which was that the resourcesList file was never created due to an incorrect logic statement.

In IncrementalBuildMojo.java in resourcesUpdated() at the end...


	if (previousResources.isEmpty()) {
		getLog().info("A resource was deleted, module have to be cleaned");
		return true;
	}
	try {
		actualResources.save();
	} catch (IOException e) {
		getLog().warn("Error saving resource files list", e);
		return true;
	}
	return false;

where it checks that previousResources is empty. I believe it should be checking that it is not empty !isEmpty(). PreviousResources is the list of resources - (minus) the current files in the resource directory. If anything is left in this list, then something was deleted.

After this is fixed, the method correctly writes the actual resources file.

This also causes the resource unit test to fail... and I believe it never worked properly anyway.

I've Ignored it for now.

Behaviour of the plugin appears to be as expected now.

Comment by mrleit [ 06/Mar/12 ]

I have been testing the 1.6 release and have noted that there seems to still be a slight issue with testResource directory.

The project is being cleaned in much the same way as previously because of the src/resource directory, however this time it is caused by test/resource.

Here is the log illustrating the problem.

[DEBUG] Last source modification : 1330697787162
[DEBUG] Target directory : xxx\target\classes
[DEBUG] Scanning output directory...
[DEBUG] Target files : [ xxx ]
[DEBUG] Last target modification date : 1331031355849
[DEBUG] No timestamp changes detected.
[DEBUG] Saving source list
[DEBUG] Saving file xxx\target\test-classes\testsList ...
[INFO] Verifying tests resources...
[INFO] Verifying test resources...
[DEBUG] Using file : xxx\target\testResourcesList
[DEBUG] Previous file xxx\target\testResourcesList not found.
[DEBUG] Using file : xxx\target\testResourcesList
[DEBUG] Resources excludes : []
[DEBUG] Resources includes : []
[INFO] Resources directory does not exist : xxx\src\test\resources
[DEBUG] Saving file xxx\target\testResourcesList ...
[DEBUG] test update detected : true
[DEBUG] Module updated, cleaning module
[INFO] Deleting xxx\target
[DEBUG] Saving timestamps..
[DEBUG] Saving file xxx\target\timestamp ...

I have manually added an empty resource directory to test folder to workaround this issue. But we have dozens of projects that don't have and don't require this directory.





[MAVEN_INCREMENTAL_BUILD-11] Can not access plugin - neither from source nor from Maven repo Created: 14/Apr/11  Updated: 15/Apr/11  Resolved: 15/Apr/11

Status: Resolved
Project: maven-incremental-build
Component/s: None
Affects Version/s: None
Fix Version/s: 1.4

Type: Bug Priority: Major
Reporter: kithouna Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I have tried to use the plugin, but failed because I could not access it.

Is is not deployed in the java.net maven repository:
http://download.java.net/maven/2/

When trying to build it from sources, I noticed the svn url points to nowhere:
http://svn.java.net/svn/maven-incremental-build~svn/trunk
redirects me to
http://java.net/projects/svn/svn/maven-incremental-build~svn/trunk
which does not exist.

Could you deploy it to the java.net maven repo?

Thanks,
kithouna



 Comments   
Comment by vsellier [ 15/Apr/11 ]

Hi,

There is a typo on the site. You can checkout the source from https://svn.java.net/svn/maven-incremental-build~svn/trunk not http.

Only the 1.4 is deployed in the central repo.
You have to declare this on your pom :

<dependency>
  <groupId>net.java.maven-incremental-build</groupId> 
  <artifactId>incremental-build-plugin</artifactId> 
  <packaging>maven-plugin</packaging> 
  <version>1.4</version> 
</dependency>

http://repo1.maven.org/maven2/net/java/maven-incremental-build/incremental-build-plugin/1.4/

You're welcome

Comment by vsellier [ 15/Apr/11 ]

Documentation updated





[MAVEN_INCREMENTAL_BUILD-10] Resource deletion must be detected as a change in source code Created: 16/Mar/11  Updated: 20/Mar/11  Resolved: 20/Mar/11

Status: Resolved
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: 1.3
Fix Version/s: 1.4

Type: Bug Priority: Major
Reporter: jcarsique Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When removing a resource, the plugin did not detect the change and so did not clean the target directory.






[MAVEN_INCREMENTAL_BUILD-9] Clean not completly done Created: 23/Mar/09  Updated: 17/Mar/11  Resolved: 17/Mar/11

Status: Resolved
Project: maven-incremental-build
Component/s: cleaner
Affects Version/s: 1.2
Fix Version/s: 1.3

Type: Bug Priority: Blocker
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 9

 Description   

If targetDirectory, outputDirectory and testOutputDirectory are redifined in the
pom and not in the same tree like :
targetDirectory: out/deploy
outputDirectory: out/classes

only target directory is cleaned and not the classes.



 Comments   
Comment by vsellier [ 23/Mar/09 ]

work started





[MAVEN_INCREMENTAL_BUILD-8] Clean is done several time when execution are specified Created: 04/Mar/09  Updated: 05/Mar/09  Resolved: 05/Mar/09

Status: Resolved
Project: maven-incremental-build
Component/s: cleaner
Affects Version/s: 1.2
Fix Version/s: 1.0

Type: Bug Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 8

 Description   

In some case when executions are specified in the build, clean is done several
time. for example, with sources jar generation specified.



 Comments   
Comment by vsellier [ 04/Mar/09 ]

status changed

Comment by vsellier [ 05/Mar/09 ]

fixed in 1.3-SNAPSHOT





[MAVEN_INCREMENTAL_BUILD-7] Make the plugin deactivable Created: 09/Jan/09  Updated: 27/Feb/09  Resolved: 27/Feb/09

Status: Resolved
Project: maven-incremental-build
Component/s: Configuration
Affects Version/s: 1.2
Fix Version/s: not determined

Type: New Feature Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 7

 Description   

It could be usefull to have a way to deactivate the plugin execution to run a
standard compilation. For exemple for always clean builds or in multi execution
(like with sonar plugin)



 Comments   
Comment by vsellier [ 27/Feb/09 ]

change status and version

Comment by vsellier [ 27/Feb/09 ]

on commit 82





[MAVEN_INCREMENTAL_BUILD-6] Modification on dependencies with test scope are not detected Created: 20/Dec/08  Updated: 27/Feb/09  Resolved: 27/Feb/09

Status: Resolved
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: 1.1
Fix Version/s: 1.1

Type: Bug Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 6

 Description   

if modification occurs on a dependency with a test scope, le module is not rebuild.
This is not correct, at least test have to be rebuild in this case



 Comments   
Comment by vsellier [ 21/Dec/08 ]

started

Comment by vsellier [ 21/Dec/08 ]

fixed for version 1.1





[MAVEN_INCREMENTAL_BUILD-5] mistake in the using description Created: 16/Dec/08  Updated: 20/Dec/08  Resolved: 20/Dec/08

Status: Resolved
Project: maven-incremental-build
Component/s: www
Affects Version/s: 1.0
Fix Version/s: 1.0

Type: Improvement Priority: Major
Reporter: julianslonko Assignee: maven-incremental-build-issues
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
URL: https://maven-incremental-build.dev.java.net/nonav/1.0/maven/usage.html


Issuezilla Id: 5

 Description   

https://maven-incremental-build.dev.java.net/nonav/1.0/maven/usage.html

Shouldn't it be <pluginRepositories> section instead of <repositories> where I
need to point <id>maven2-repository.dev.java.net</id> repo?

Regards,
Julian



 Comments   
Comment by vsellier [ 20/Dec/08 ]

Yes you are right thanks for your feedback

Comment by vsellier [ 20/Dec/08 ]

fixed





[MAVEN_INCREMENTAL_BUILD-4] Wrong directory cleaned Created: 07/Sep/08  Updated: 11/Sep/08  Resolved: 11/Sep/08

Status: Resolved
Project: maven-incremental-build
Component/s: cleaner
Affects Version/s: 1.0
Fix Version/s: 1.0

Type: Bug Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 4

 Description   

When clean is required, is the classes directory which is cleaned.
Must be the target directory.



 Comments   
Comment by vsellier [ 10/Sep/08 ]

done in 1.0 release





[MAVEN_INCREMENTAL_BUILD-3] Detect dependencies modification Created: 18/Aug/08  Updated: 11/Sep/08

Status: Open
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: 1.0
Fix Version/s: 1.1

Type: New Feature Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 3

 Description   

Modification on dependencies have to provoque a clean compilation of a module
and his sub-modules.

Based on a dependencies snapshot stored into the target directory



 Comments   
Comment by vsellier [ 11/Sep/08 ]

included in version 1.1





[MAVEN_INCREMENTAL_BUILD-2] Posibility to choose the directory to clean Created: 13/Jan/08  Updated: 17/Mar/11  Resolved: 17/Mar/11

Status: Closed
Project: maven-incremental-build
Component/s: cleaner
Affects Version/s: 1.1
Fix Version/s: 1.1

Type: Improvement Priority: Blocker
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 2

 Description   

Add configuration to choose to directory to clean when modification are detected.
Today the complete output directory is cleaned so it'll be cool to choose to
classes directory or resources or any other directory



 Comments   
Comment by vsellier [ 11/Sep/08 ]

on version 1.1





[MAVEN_INCREMENTAL_BUILD-1] detect modification on pom Created: 03/Jan/08  Updated: 11/Sep/08  Resolved: 11/Sep/08

Status: Resolved
Project: maven-incremental-build
Component/s: modification detection
Affects Version/s: 1.0
Fix Version/s: 1.0

Type: New Feature Priority: Major
Reporter: vsellier Assignee: vsellier
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 1

 Description   

Force module rebuild if pom.xml was modified. Could be base on last modification
date of files on the output dir compared to the pom modification date



 Comments   
Comment by vsellier [ 07/Sep/08 ]

work in progress

Comment by vsellier [ 07/Sep/08 ]

File containing some files timestamp now write in target dir.
This file keep the timestamp for previous builds.





Generated at Sun Mar 29 09:58:16 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.