You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Alex Boisvert (JIRA)" <ji...@apache.org> on 2011/09/14 15:27:09 UTC

[jira] [Resolved] (BUILDR-611) Buildr should not unnecessarily recompile Java files explicitly added to compile.from

     [ https://issues.apache.org/jira/browse/BUILDR-611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Boisvert resolved BUILDR-611.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.4.7

Thanks for pinpointing the issue.  I decided to tweak the regular expression instead of using gsub().

Fixed now.

boisvert@honeybrown:~/git/buildr$ git svn dcommit
	M	CHANGELOG
	M	lib/buildr/core/compile.rb
	M	spec/core/compile_spec.rb
Committed r1170605
r1170605 = ab4f08d8ca66935770ba4c24e667527e54bf820c (refs/remotes/origin/trunk)


> Buildr should not unnecessarily recompile Java files explicitly added to compile.from
> -------------------------------------------------------------------------------------
>
>                 Key: BUILDR-611
>                 URL: https://issues.apache.org/jira/browse/BUILDR-611
>             Project: Buildr
>          Issue Type: Bug
>          Components: Compilers
>    Affects Versions: 1.4.6
>            Reporter: FĂ©lix Enrique Llorente Pastora
>            Assignee: Alex Boisvert
>             Fix For: 1.4.7
>
>
> We have something like that in our buildfile
> compile.from(FileList[ 
>                               FooI/jsrc/**/*.java',
>                               Bar/jsrc/']
>                        .exclude('FooJava.java'))
> Calling build task twice do two compilations.
> buildr doesn't remove the ";" character from the package name in the compile_map 
> We did have to use the following patch to fix it:
> --- lib/buildr/core/compile.rb	2011-09-14 11:55:23.377091000 +0200
> +++ lib/buildr/core/compile.rb.org	2011-09-14 11:56:08.619013000 +0200
> @@ -193,7 +193,7 @@
>              # try to extract package name from .java or .scala files
>              if ['.java', '.scala', '.groovy'].include? File.extname(source)
>                package = findFirst(source, /^\s*package\s+(\S+)\s*;?\s*$/)
> -              map[source] = package ? File.join(target, package[1].gsub('.', '/').gsub(';',''), File.basename(source).ext(target_ext)) : target
> +              map[source] = package ? File.join(target, package[1].gsub('.', '/'), File.basename(source).ext(target_ext)) : target
>              elsif
>                map[source] = target
>              end

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira