[
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