Subject: bug#8434: closed (Re: bug#8434: New public branch "java-work" (was: Re: [PATCH] java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am))

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 18 Sep 2011 19:01:03 +0000

Your bug report

#8434: java: cannot use JAVA with both dist_ and nodist_ prefixes

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8434: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8434
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8434: New public branch "java-work" (was: Re: [PATCH] java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am)
From: Stefano Lattarini <[email-masked]>
To: [email-masked]
Cc: Ralf Wildenhues <[email-masked]>
Date: Sun, 18 Sep 2011 20:55:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Reference:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8434>

On Saturday 23 April 2011, Stefano Lattarini wrote:
> On Monday 18 April 2011, Stefano Lattarini wrote:
> > On Saturday 09 April 2011, Ralf Wildenhues wrote:
> > > Hi Stefano,
> > > 
> > > * Stefano Lattarini wrote on Wed, Apr 06, 2011 at 09:00:32PM CEST:
> > > > Currently, limitations in the Automake support for java enforce the
> > > > restriction that only one `_JAVA' primary can be used in a given
> > > > Makefile.am.
> > > 
> > > > This bug is particularly annoying because *.java files listed with
> > > > the `JAVA' primary are not included by default in the distribution.
> > > > 
> > > > Ganted, one can always use EXTRA_DIST to work around this issue,
> > > > but it would be nice if things Just Worked.
> > > 
> > > Agreed on all accounts.  Do you see a way to fix this, for arbitrary
> > > dependency structure between the java classes?
> > > 
> > > Thanks for the bug report,
> > > Ralf
> > > 
> > Attached is a patch that fixes the problem.  OK for a new 'java-work'
> > branch based off of the right maint-based commits (as to make new
> > tests like 'java-extra.test' and `java-noinst.test' available)?  We
> > can decide at a later date whether this branch has to be merged into
> > maint or into master only.
> > 
> > I'll push in 72 hours if there is no objection.
> > 
> > Regards,
> >    Stefano
> > 
> I've pushed this patch to a new public branch "java-work".  This new
> branch is meant to be merged into either master or maint eventually
> (which one exactly is still to be decided).  So, merging maint into
> java-work should be ok at any moment, but master shouldn't be merged
> into it.
> 
The patch (or a slighty modified version) has been applied to maint now:
 <http://lists.gnu.org/archive/html/automake-patches/2011-09/msg00075.html>
So I'm closing this bug report.

Regards,
  Stefano

Subject: java: cannot use JAVA with both dist_ and nodist_ prefixes
From: Stefano Lattarini <[email-masked]>
To: [email-masked]
Date: Wed, 6 Apr 2011 21:00:32 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello autoconfers.

Currently, limitations in the Automake support for java enforce the
restriction that only one `_JAVA' primary can be used in a given
Makefile.am.

Unfortunately, this (quite acceptable) limitation has the side effect
that one cannot have both distributed and not distributed *.java files
in a the same Makefile.am:

 $ cat Makefile.am
 dist_java_JAVA = a.java
 nodist_java_JAVA = b.java
 $ automake -a
 /usr/share/automake-1.11/am/java.am: JAVAC multiply defined in condition TRUE ...
 Makefile.am:2:   while processing `nodist_java_JAVA'
 /usr/share/automake-1.11/am/java.am: ... `JAVAC' previously defined here
 Makefile.am:1:   while processing `dist_java_JAVA'
 /usr/share/automake-1.11/am/java.am: CLASSPATH_ENV multiply defined in condition TRUE ...
 Makefile.am:2:   while processing `nodist_java_JAVA'
 /usr/share/automake-1.11/am/java.am: ... `CLASSPATH_ENV' previously defined here
 Makefile.am:1:   while processing `dist_java_JAVA'
 /usr/share/automake-1.11/am/java.am: JAVAROOT multiply defined in condition TRUE ...
 Makefile.am:2:   while processing `nodist_java_JAVA'
 /usr/share/automake-1.11/am/java.am: ... `JAVAROOT' previously defined here
 Makefile.am:1:   while processing `dist_java_JAVA'
 Makefile.am:2: multiple _JAVA primaries in use

See also the attached testcase (for maint, v1.11-329-gd4df619).

This bug is particularly annoying because *.java files listed with
the `JAVA' primary are not included by default in the distribution.

Ganted, one can always use EXTRA_DIST to work around this issue,
but it would be nice if things Just Worked.

Regards,
  Stefano