Including *another* .jar file in MY .jar file

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Introducing an *automatic* JavaDoc step after NetRexx Compilation

Patric Bechtel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Thomas,

Thomas Schneider schrieb am 19.02.2010 19:58:
> Hi Patrick,

my name is Patric, no k please.

>    could you please mail (privately to [hidden email]) a copy of the
> patches you did
> to NetRexxC so that, please, I can do the JavaDoc step's  of my own
> source  (now all in NetRexx)
> by simply compiling the programs again ?
>
> That would be of real help for me!

patch to current ant 1.8 version (rev 912006) is attached.

- --
Patric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: GnuPT 2.5.2

iEYEARECAAYFAkt/EckACgkQfGgGu8y7ypDgygCgjgPYRcnqezo9Siq91TtnOFmO
cH4AnA4IN8TBeKAbJ5NdiUKyMOtpMdTZ
=0xt4
-----END PGP SIGNATURE-----

Index: .
===================================================================
--- . (revision 912006)
+++ . (working copy)
@@ -73,6 +73,7 @@
  * <li>suppressVariableNotUsed</li>
  * <li>suppressExceptionNotSignalled</li>
  * <li>suppressDeprecation</li>
+ * <li>removeKeepExtension</li>
  * </ul>
  * Of these arguments, the <b>srcdir</b> argument is required.
  *
@@ -113,7 +114,7 @@
     private boolean strictargs;
     private boolean strictassign;
     private boolean strictcase;
-    private boolean strictimport;
+    private Boolean strictimport;
     private boolean strictprops;
     private boolean strictsignal;
     private boolean symbols;
@@ -126,6 +127,7 @@
     private boolean suppressVariableNotUsed = false;
     private boolean suppressExceptionNotSignalled = false;
     private boolean suppressDeprecation = false;
+    private boolean removeKeepExtension = false;
 
     // constants for the messages to suppress by flags and their corresponding properties
     static final String MSG_METHOD_ARGUMENT_NOT_USED
@@ -379,11 +381,11 @@
      * Sets whether classes need to be imported explicitly using an <code>import</code>
      * statement. By default the NetRexx compiler will import certain packages
      * automatically Valid true values are "on" or "true". Anything else sets
-     * the flag to false. The default value is false.
-     * @param strictimport a <code>boolean</code> value.
+     * the flag to false. The default value is not set, which means the source will set this.
+     * If the source doesn't set this either, the compilers default (false) will be used.
      */
     public void setStrictimport(boolean strictimport) {
-        this.strictimport = strictimport;
+        this.strictimport = Boolean.valueOf(strictimport);
     }
 
 
@@ -539,6 +541,15 @@
 
 
     /**
+     * Tells wether the trailing .keep in nocompile-mode should be removed
+     * so that the resulting java source really ends on .java
+     */
+    public void setRemoveKeepExtension(boolean removeKeepExtension) {
+        this.removeKeepExtension = removeKeepExtension;
+    }
+
+
+    /**
      * init-Method sets defaults from Properties. That way, when ant is called
      * with arguments like -Dant.netrexxc.verbose=verbose5 one can easily take
      * control of all netrexxc-tasks.
@@ -604,7 +615,7 @@
             this.strictcase = Project.toBoolean(p);
         }
         if ((p = getProject().getProperty("ant.netrexxc.strictimport")) != null) {
-            this.strictimport = Project.toBoolean(p);
+            this.strictimport = Boolean.valueOf(Project.toBoolean(p));
         }
         if ((p = getProject().getProperty("ant.netrexxc.strictprops")) != null) {
             this.strictprops = Project.toBoolean(p);
@@ -642,6 +653,9 @@
         if ((p = getProject().getProperty("ant.netrexxc.suppressDeprecation")) != null) {
             this.suppressDeprecation = Project.toBoolean(p);
         }
+        if ((p = getProject().getProperty("ant.netrexxc.removeKeepExtension")) != null) {
+            this.removeKeepExtension = Project.toBoolean(p);
+        }
     }
 
 
@@ -674,6 +688,9 @@
                  + (compileList.size() == 1 ? "" : "s")
                  + " to " + destDir);
             doNetRexxCompile();
+            if (removeKeepExtension && (!compile || keep)) {
+                removeKeepExtensions();
+            }
         }
     }
 
@@ -695,8 +712,18 @@
                 File classFile =
                     new File(destDir,
                     filename.substring(0, filename.lastIndexOf('.')) + ".class");
+                File javaFile =
+                    new File(destDir,
+                    filename.substring(0, filename.lastIndexOf('.'))
+                    + (removeKeepExtension ? ".java" : ".java.keep"));
 
-                if (!compile || srcFile.lastModified() > classFile.lastModified()) {
+                // nocompile case tests against .java[.keep] file
+                if (!compile && srcFile.lastModified() > javaFile.lastModified()) {
+                    filecopyList.put(srcFile.getAbsolutePath(), destFile.getAbsolutePath());
+                    compileList.addElement(destFile.getAbsolutePath());
+                }
+                // compile case tests against .class file
+                else if (compile && srcFile.lastModified() > classFile.lastModified()) {
                     filecopyList.put(srcFile.getAbsolutePath(), destFile.getAbsolutePath());
                     compileList.addElement(destFile.getAbsolutePath());
                 }
@@ -735,6 +762,30 @@
     }
 
 
+    /**
+     * Rename .java.keep files (back) to .java. The netrexxc renames all
+     * .java files to .java.keep if either -keep or -nocompile option is set.
+     */
+    private void removeKeepExtensions() {
+        if (compileList.size() > 0) {
+            log("Removing .keep extension on " + compileList.size() + " file"
+                 + (compileList.size() == 1 ? "" : "s"));
+            Enumeration e = compileList.elements();
+            while (e.hasMoreElements()) {
+                String nrxName = (String) e.nextElement();
+                String baseName = nrxName.substring(0, nrxName.lastIndexOf('.'));
+                File fromFile = new File(baseName + ".java.keep");
+                File toFile = new File(baseName + ".java");
+                if (fromFile.renameTo(toFile)) {
+                    log("Successfully renamed " + fromFile + " to " + toFile, Project.MSG_VERBOSE);
+                } else {
+                    log("Failed to rename " + fromFile + " to " + toFile);
+                }
+            }
+        }
+    }
+
+
     /** Performs a compile using the NetRexx 1.1.x compiler  */
     private void doNetRexxCompile() throws BuildException {
         log("Using NetRexx compiler", Project.MSG_VERBOSE);
@@ -898,7 +949,7 @@
         options.addElement(strictargs ? "-strictargs" : "-nostrictargs");
         options.addElement(strictassign ? "-strictassign" : "-nostrictassign");
         options.addElement(strictcase ? "-strictcase" : "-nostrictcase");
-        options.addElement(strictimport ? "-strictimport" : "-nostrictimport");
+        if(strictimport!=null) options.addElement(strictimport.booleanValue() ? "-strictimport" : "-nostrictimport");
         options.addElement(strictprops ? "-strictprops" : "-nostrictprops");
         options.addElement(strictsignal ? "-strictsignal" : "-nostrictsignal");
         options.addElement(symbols ? "-symbols" : "-nosymbols");

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Introducing an *automatic* JavaDoc step after NetRexx Compilation

Thomas.Schneider.Wien
Hello Patric,
   I am *so sorry with my* wrong spelled Patric(k).

Here in Vienna, Austria, (German speaking country, sorry)

Patric is spelled with (ck).

My apologicies (however this is written in English)

But many thanks for the file you forwarded to me.

I'll look at it tomorrow, as I have to go a'sleep for a while.
It#s now 12:00 midnight, and, sometimes, I do need a short sleep....

Thanks again,
Thomas.Schneider.Wien (vulgo Tom) .
=========================================================

Patric Bechtel schrieb:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Thomas,
>
> Thomas Schneider schrieb am 19.02.2010 19:58:
>  
>> Hi Patrick,
>>    
>
> my name is Patric, no k please.
>
>  
>>    could you please mail (privately to [hidden email]) a copy of the
>> patches you did
>> to NetRexxC so that, please, I can do the JavaDoc step's  of my own
>> source  (now all in NetRexx)
>> by simply compiling the programs again ?
>>
>> That would be of real help for me!
>>    
>
> patch to current ant 1.8 version (rev 912006) is attached.
>
> - --
> Patric
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: GnuPT 2.5.2
>
> iEYEARECAAYFAkt/EckACgkQfGgGu8y7ypDgygCgjgPYRcnqezo9Siq91TtnOFmO
> cH4AnA4IN8TBeKAbJ5NdiUKyMOtpMdTZ
> =0xt4
> -----END PGP SIGNATURE-----
>  
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
>
>  

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Tom. (ths@db-123.com)
Reply | Threaded
Open this post in threaded view
|

Re: Ant and NetRexxC changes (was Including *another* .jar file in MY .jar file)

Kermit Kiser
In reply to this post by rvjansen
While I like the possibility of upgrading the Ant netrexxc task to fix some of these things, I would actually prefer that some of them get changed in NetRexx. Two things that I find "unexpected" in NetRexxC (the compiler itself) are the way it renames the .java files to .java.keep and the default generation of a .crossref file that I did not request and seldom use. These things often cause me extra work. Can we change these options in the open source compiler?

-- Kermit


René Jansen wrote:
Hi Patrick,

let's merge these into the NetRexx version at some point in time. I am
not an avid ant user myself, but I see the merits and necessity when
we are going to attempt IDE integration.

best regards,

René Jansen.

On Fri, Feb 19, 2010 at 1:38 PM, Patric Bechtel [hidden email] wrote:
  
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

René Jansen schrieb am 19.02.2010 12:16:
    
We had the the NetRexx ant task rewritten in NetRexx in a project many years ago. I'll dig it up and contact the author so it can be open sourced. This might enable us to adapt it easier to do the things that we want it to do - if needed.

      
Hi René,

I wrote a few patches to this NetRexxC task, too, but it was (and in my
copy still is) still written in Java. AFAIR it was suppressing some
messages and applying defaults to the options throughout an ant file I
added. That was back in April 2002...
Meanwhile I've patched it yet again, so that it can remove the .keep
extension so that javadoc may run flawlessly right after, and the error
messages tell the names of the real source files, because the NetRexx
compiler messages refer to the already copied source files. Works great
together with jEdit's error console to highlight errors right after
building.

- --
Patric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: GnuPT 2.5.2

iEYEARECAAYFAkt+hjQACgkQfGgGu8y7ypASDwCgjQepV5SPN/qzbjuvFax5t2wr
MB8AnjMGvjf8IKQ2cBYUD2mtdzSDKK33
=mERY
-----END PGP SIGNATURE-----
_______________________________________________
Ibm-netrexx mailing list
[hidden email]


    

_______________________________________________
Ibm-netrexx mailing list
[hidden email]



  

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Ant and NetRexxC changes (was Including *another* .jar file in MY .jar file)

Thomas.Schneider.Wien
Kermit,
   CROSSREF you may change OFF by including -NOCROSSREF in your NetRexxC
(or NRC) invokation.
That's easy.

   About the other issue (generating JvaDoc) I am proposing a new option
-doc for NetRexxC.

But I am NOT knowing, at the minute, who will go to implement that...

Just trying it around ....
Tom...

(and please look at www.NABBLE.com, and  search for: IBM-NetRexx)

Ian did a *perfect Job there*;

Tom.
=============================================================
Kermit Kiser schrieb:

> While I like the possibility of upgrading the Ant netrexxc task to fix
> some of these things, I would actually prefer that some of them get
> changed in NetRexx. Two things that I find "unexpected" in NetRexxC
> (the compiler itself) are the way it renames the .java files to
> .java.keep and the default generation of a .crossref file that I did
> not request and seldom use. These things often cause me extra work.
> Can we change these options in the open source compiler?
>
> -- Kermit
>
>
> René Jansen wrote:
>> Hi Patrick,
>>
>> let's merge these into the NetRexx version at some point in time. I am
>> not an avid ant user myself, but I see the merits and necessity when
>> we are going to attempt IDE integration.
>>
>> best regards,
>>
>> René Jansen.
>>
>> On Fri, Feb 19, 2010 at 1:38 PM, Patric Bechtel <[hidden email]> wrote:
>>  
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> René Jansen schrieb am 19.02.2010 12:16:
>>>    
>>>> We had the the NetRexx ant task rewritten in NetRexx in a project many years ago. I'll dig it up and contact the author so it can be open sourced. This might enable us to adapt it easier to do the things that we want it to do - if needed.
>>>>
>>>>      
>>> Hi René,
>>>
>>> I wrote a few patches to this NetRexxC task, too, but it was (and in my
>>> copy still is) still written in Java. AFAIR it was suppressing some
>>> messages and applying defaults to the options throughout an ant file I
>>> added. That was back in April 2002...
>>> Meanwhile I've patched it yet again, so that it can remove the .keep
>>> extension so that javadoc may run flawlessly right after, and the error
>>> messages tell the names of the real source files, because the NetRexx
>>> compiler messages refer to the already copied source files. Works great
>>> together with jEdit's error console to highlight errors right after
>>> building.
>>>
>>> - --
>>> Patric
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.9 (GNU/Linux)
>>> Comment: GnuPT 2.5.2
>>>
>>> iEYEARECAAYFAkt+hjQACgkQfGgGu8y7ypASDwCgjQepV5SPN/qzbjuvFax5t2wr
>>> MB8AnjMGvjf8IKQ2cBYUD2mtdzSDKK33
>>> =mERY
>>> -----END PGP SIGNATURE-----
>>> _______________________________________________
>>> Ibm-netrexx mailing list
>>> [hidden email]
>>>
>>>
>>>    
>>
>> _______________________________________________
>> Ibm-netrexx mailing list
>> [hidden email]
>>
>>
>>
>>  
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
>
>  

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Tom. (ths@db-123.com)
Reply | Threaded
Open this post in threaded view
|

Re: Ant and NetRexxC changes (was Including *another* .jar file in MY .jar file)

Patric Bechtel
In reply to this post by Kermit Kiser
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Kermit Kiser schrieb am 20.02.2010 00:23:
> While I like the possibility of upgrading the Ant netrexxc task to fix
> some of these things, I would actually prefer that some of them get
> changed in NetRexx. Two things that I find "unexpected" in NetRexxC (the
> compiler itself) are the way it renames the .java files to .java.keep
> and the default generation of a .crossref file that I did not request
> and seldom use. These things often cause me extra work. Can we change
> these options in the open source compiler?
>

Hi Kermit,

it's true, we need to change these things in the open source compiler as
soon as we get our hands on it.
I was after Mike since at least 8 years fixing some of these annoyances,
but he was so busy he couldn't cope up with my requests.
At least he fixed most of the bugs I found (he once told that no one
ever found more bugs in NetRexx than me ;-)), so the urgent things got
done, though, so I didn't complain.

Anything I could possibly fix from "outside" I tried to fix. I wrote
numerous tool classes to fix some strange typing issues in e.g. java.io
and StringBuffer/Builder classes and enhanced the ant task, that was all
we could do without changing the compiler. I use a separate javac step
and nocompile on NetRexxC to fix some other strange bugs I hope to fix
as soon as I can look inside the NetRexxC code.
I was even thinking about removing annotations from source files and
readding them in later before the javac step, as I heard about NetRexx
going to RexxLA.org. That was a bit more than a year ago... *sigh*

- --
Patric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: GnuPT 2.5.2

iEUEARECAAYFAkt/JPQACgkQfGgGu8y7ypCDtQCgkIb6v0gHHCCm4xHv5kHD8aek
PAQAmJnlRreuReSDWh7iliMC2Pg+rXQ=
=JSz4
-----END PGP SIGNATURE-----
_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Introducing an *automatic* JavaDoc step after NetRexx Compilation

Patric Bechtel
In reply to this post by Thomas.Schneider.Wien
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thomas Schneider schrieb am 20.02.2010 00:06:
> Hello Patric,
>   I am *so sorry with my* wrong spelled Patric(k).
>
> Here in Vienna, Austria, (German speaking country, sorry)
>
> Patric is spelled with (ck).

Hi Thomas,

I'm a german, living in Luxembourg, but I have french roots...

- --
Patric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: GnuPT 2.5.2

iEYEARECAAYFAkt/JcUACgkQfGgGu8y7ypCdDwCdHMTHcTEkGb2pl6EESLc+dlEp
/EYAn0Pue4UIRRRHI/FK52GsFUHR9qey
=DZb5
-----END PGP SIGNATURE-----
_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Ant and NetRexxC changes (was Including *another* .jar file in MY .jar file)

Thomas.Schneider.Wien
In reply to this post by Patric Bechtel
Hi Patric & al,
   1:) Appreciate your work.
   2:) I'm working, since years now, on my *own* NetRexx Compiler...

But I#m so happy that Mike One's is there and I do *NOT* have to rewrite
everything from SCRATCH.

By the way, I'm *not* using anything of Mik'es Code, as I am using
*another PARSING* and
*PROGRAM Generator* approach than he is doing ...

Full Stop (from my side ...)
Tom.
============================================================================.
Patric Bechtel schrieb:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Kermit Kiser schrieb am 20.02.2010 00:23:
>  
>> While I like the possibility of upgrading the Ant netrexxc task to fix
>> some of these things, I would actually prefer that some of them get
>> changed in NetRexx. Two things that I find "unexpected" in NetRexxC (the
>> compiler itself) are the way it renames the .java files to .java.keep
>> and the default generation of a .crossref file that I did not request
>> and seldom use. These things often cause me extra work. Can we change
>> these options in the open source compiler?
>>
>>    
>
> Hi Kermit,
>
> it's true, we need to change these things in the open source compiler as
> soon as we get our hands on it.
> I was after Mike since at least 8 years fixing some of these annoyances,
> but he was so busy he couldn't cope up with my requests.
> At least he fixed most of the bugs I found (he once told that no one
> ever found more bugs in NetRexx than me ;-)), so the urgent things got
> done, though, so I didn't complain.
>
> Anything I could possibly fix from "outside" I tried to fix. I wrote
> numerous tool classes to fix some strange typing issues in e.g. java.io
> and StringBuffer/Builder classes and enhanced the ant task, that was all
> we could do without changing the compiler. I use a separate javac step
> and nocompile on NetRexxC to fix some other strange bugs I hope to fix
> as soon as I can look inside the NetRexxC code.
> I was even thinking about removing annotations from source files and
> readding them in later before the javac step, as I heard about NetRexx
> going to RexxLA.org. That was a bit more than a year ago... *sigh*
>
> - --
> Patric
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: GnuPT 2.5.2
>
> iEUEARECAAYFAkt/JPQACgkQfGgGu8y7ypCDtQCgkIb6v0gHHCCm4xHv5kHD8aek
> PAQAmJnlRreuReSDWh7iliMC2Pg+rXQ=
> =JSz4
> -----END PGP SIGNATURE-----
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
>
>
>  

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Tom. (ths@db-123.com)
12