pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gianmarco De Francisci Morales (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PIG-2380) Expose version information more cleanly
Date Thu, 17 Nov 2011 15:48:51 GMT

    [ https://issues.apache.org/jira/browse/PIG-2380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13152110#comment-13152110
] 

Gianmarco De Francisci Morales commented on PIG-2380:
-----------------------------------------------------

Jonathan,
the patch does not apply cleanly to trunk for me. Could you rebase it?

Also, for the static initializer, running the Main class without packaging it into a jar (that
means, using the build folder for the classpath) throws an exception (also in current trunk).

{code}
java -cp build/classes:build/ivy/lib/Pig/* org.apache.pig.Main -h
11/11/17 16:45:39 ERROR pig.Main: ERROR 2999: Unexpected internal error. unable to read pigs
manifest file
11/11/17 16:45:39 WARN pig.Main: There is no log file to write to.
11/11/17 16:45:39 ERROR pig.Main: java.lang.RuntimeException: unable to read pigs manifest
file
	at org.apache.pig.Main.getVersionString(Main.java:749)
	at org.apache.pig.Main.run(Main.java:249)
	at org.apache.pig.Main.main(Main.java:111)
Caused by: java.lang.NullPointerException
	at java.io.File.<init>(File.java:222)
	at java.util.jar.JarFile.<init>(JarFile.java:72)
	at org.apache.pig.Main.getVersionString(Main.java:737)
	... 2 more
{code}

I would propose to fix it, we don't need to throw a RuntimeException for it.
Let's just warn the user and go on.
                
> Expose version information more cleanly
> ---------------------------------------
>
>                 Key: PIG-2380
>                 URL: https://issues.apache.org/jira/browse/PIG-2380
>             Project: Pig
>          Issue Type: Improvement
>            Reporter: Jonathan Coveney
>            Assignee: Jonathan Coveney
>            Priority: Minor
>             Fix For: 0.11
>
>         Attachments: PIG2380.patch
>
>
> Currently, there is no clean way to get version information (short of trying to instantiate
a class that only exists in the version you want and catching an exception, or something like
that). This patch exposes major, minor, patch, svn revision, and build time (basically, all
of the pieces of the current version).
> Example:
> {code}
> import org.apache.pig.Main;
> public class Thing {
>   public static void main(String[] args) {
>     System.out.println(Main.getMajorVersion());
>     System.out.println(Main.getMinorVersion());
>     System.out.println(Main.getPatchVersion());
>     System.out.println(Main.getSvnRevision());
>     System.out.println(Main.getBuildTime());
>   }
> }
> {code}
> will return
> {code}
> 0
> 11
> 0
> 1202387
> Nov 15 2011, 15:37:14
> 0
> {code}
> which comprises
> {code}
> Apache Pig version 0.11.0-SNAPSHOT (r1202387) 
> compiled Nov 15 2011, 15:37:14
> {code}
> I've run ant test-commit, but not ant test. This can easily be ported to old version,
but I only tested it against trunk.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message