Thank you very much.

Rgds, Rory

On 19/12/2013 14:14, Uwe Schindler wrote:
Hi,

Here the output for all Lucene JARs:
(The "not found" messages are coming from the fact, that there are dependencies 
between the JAR files.)

bash-4.1$ find . -name '*.jar' | xargs -L1 jdeps -jdkinternals
.\analysis\common\lucene-analyzers-common-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\common\lucene-analyzers-common-5.0-SNAPSHOT.jar -> not found
.\analysis\icu\lucene-analyzers-icu-5.0-SNAPSHOT.jar -> not found
.\analysis\icu\lucene-analyzers-icu-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\kuromoji\lucene-analyzers-kuromoji-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\kuromoji\lucene-analyzers-kuromoji-5.0-SNAPSHOT.jar -> not found
.\analysis\morfologik\lucene-analyzers-morfologik-5.0-SNAPSHOT.jar -> 
C:\Program Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\morfologik\lucene-analyzers-morfologik-5.0-SNAPSHOT.jar -> not found
.\analysis\phonetic\lucene-analyzers-phonetic-5.0-SNAPSHOT.jar -> not found
.\analysis\phonetic\lucene-analyzers-phonetic-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\smartcn\lucene-analyzers-smartcn-5.0-SNAPSHOT.jar -> not found
.\analysis\smartcn\lucene-analyzers-smartcn-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\stempel\lucene-analyzers-stempel-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\stempel\lucene-analyzers-stempel-5.0-SNAPSHOT.jar -> not found
.\analysis\uima\lucene-analyzers-uima-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\analysis\uima\lucene-analyzers-uima-5.0-SNAPSHOT.jar -> not found
.\benchmark\lucene-benchmark-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\benchmark\lucene-benchmark-5.0-SNAPSHOT.jar -> not found
.\classification\lucene-classification-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\classification\lucene-classification-5.0-SNAPSHOT.jar -> not found
.\codecs\lucene-codecs-5.0-SNAPSHOT.jar -> not found
.\codecs\lucene-codecs-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\core\lucene-core-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\demo\lucene-demo-5.0-SNAPSHOT.jar -> not found
.\demo\lucene-demo-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\expressions\lucene-expressions-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\expressions\lucene-expressions-5.0-SNAPSHOT.jar -> not found
.\facet\lucene-facet-5.0-SNAPSHOT.jar -> not found
.\facet\lucene-facet-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\grouping\lucene-grouping-5.0-SNAPSHOT.jar -> not found
.\grouping\lucene-grouping-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\highlighter\lucene-highlighter-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\highlighter\lucene-highlighter-5.0-SNAPSHOT.jar -> not found
.\join\lucene-join-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\join\lucene-join-5.0-SNAPSHOT.jar -> not found
.\memory\lucene-memory-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\memory\lucene-memory-5.0-SNAPSHOT.jar -> not found
.\misc\lucene-misc-5.0-SNAPSHOT.jar -> not found
.\misc\lucene-misc-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\queries\lucene-queries-5.0-SNAPSHOT.jar -> not found
.\queries\lucene-queries-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\queryparser\lucene-queryparser-5.0-SNAPSHOT.jar -> not found
.\queryparser\lucene-queryparser-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\replicator\lucene-replicator-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\replicator\lucene-replicator-5.0-SNAPSHOT.jar -> not found
.\sandbox\lucene-sandbox-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\sandbox\lucene-sandbox-5.0-SNAPSHOT.jar -> not found
.\spatial\lucene-spatial-5.0-SNAPSHOT.jar -> not found
.\spatial\lucene-spatial-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\suggest\lucene-suggest-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\suggest\lucene-suggest-5.0-SNAPSHOT.jar -> not found
.\test-framework\lucene-test-framework-5.0-SNAPSHOT.jar -> C:\Program 
Files\Java\jdk1.8.0\jre\lib\rt.jar
.\test-framework\lucene-test-framework-5.0-SNAPSHOT.jar -> not found
bash-4.1$

In fact, no Lucene JAR file is using internal APIs.

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]

-----Original Message-----
From: Rory O'Donnell Oracle, Dublin Ireland
[mailto:[email protected]]
Sent: Thursday, December 19, 2013 12:36 PM
To: Uwe Schindler; [email protected]; 'Dawid Weiss'
Cc: 'TOPIC,DALIBOR'; 'BORG,CECILIA'; [email protected]
Subject: Re: New JDK 8 tool: jdeps


On 19/12/2013 11:21, Uwe Schindler wrote:
Hi,

as expected, nothing special. I tried with the lucene-core.jar file:

C:\Users\Uwe
Schindler\Projects\lucene\trunk-lusolr2\lucene\build\core>jdeps
-jdkinternals lucene-core-5.0-SNAPSHOT.jar
lucene-core-5.0-SNAPSHOT.jar -> C:\Program
Files\Java\jdk1.8.0\jre\lib\rt.jar

Without the internals check:

C:\Users\Uwe
Schindler\Projects\lucene\trunk-lusolr2\lucene\build\core>jdeps lucene-
core-5.0-SNAPSHOT.jar lucene-core-5.0-SNAPSHOT.jar -> C:\Program
Files\Java\jdk1.8.0\jre\lib\rt.jar
     org.apache.lucene (lucene-core-5.0-SNAPSHOT.jar)
        -> java.lang
     org.apache.lucene.analysis (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.lang.reflect
        -> java.util
     org.apache.lucene.analysis.tokenattributes (lucene-core-5.0-
SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.nio
     org.apache.lucene.codecs (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.codecs.compressing (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.nio.charset
        -> java.util
        -> java.util.zip
     org.apache.lucene.codecs.lucene40 (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.nio.charset
        -> java.util
     org.apache.lucene.codecs.lucene41 (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.codecs.lucene42 (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.codecs.lucene45 (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.codecs.lucene46 (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.codecs.perfield (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.document (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.text
        -> java.util
        -> java.util.zip
     org.apache.lucene.index (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.nio
        -> java.nio.charset
        -> java.nio.file
        -> java.text
        -> java.util
        -> java.util.concurrent
        -> java.util.concurrent.atomic
        -> java.util.concurrent.locks
        -> java.util.regex
     org.apache.lucene.search (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
        -> java.util.concurrent
        -> java.util.concurrent.locks
     org.apache.lucene.search.payloads (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.search.similarities (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.search.spans (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.store (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.lang.reflect
        -> java.net
        -> java.nio
        -> java.nio.channels
        -> java.nio.charset
        -> java.nio.file
        -> java.security
        -> java.util
        -> java.util.concurrent
        -> java.util.concurrent.atomic
        -> java.util.zip
     org.apache.lucene.util (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.lang.management
        -> java.lang.ref
        -> java.lang.reflect
        -> java.net
        -> java.nio.charset
        -> java.text
        -> java.util
        -> java.util.concurrent
        -> java.util.concurrent.atomic
     org.apache.lucene.util.automaton (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.util.fst (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util
     org.apache.lucene.util.mutable (lucene-core-5.0-SNAPSHOT.jar)
        -> java.lang
        -> java.util
     org.apache.lucene.util.packed (lucene-core-5.0-SNAPSHOT.jar)
        -> java.io
        -> java.lang
        -> java.util

I can do this with all other JAR files we have (also dependencies).
Yes please Uwe.

Rgds,Rory
Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]


-----Original Message-----
From: Rory O'Donnell Oracle, Dublin Ireland
[mailto:[email protected]]
Sent: Thursday, December 19, 2013 12:15 PM
To: Uwe Schindler; 'Dawid Weiss'
Cc: [email protected]; 'TOPIC,DALIBOR'; 'BORG,CECILIA';
[email protected]
Subject: Re: New JDK 8 tool: jdeps

Hi Uwe,

Would it be possible to send the jdeps output  (jdeps -jdkinternals) ?

Rgds, Rory
On 17/12/2013 13:13, Uwe Schindler wrote:
Hey Rory, I already left a comment on the blog entry - Oracle should
have
looked whats already available on the Open Source market!
We use a more generic tool available via Maven Central that does the
same
since a few years:
https://code.google.com/p/forbidden-apis/

It was written by me, but it is used by more and more projects,
especially those who need 100% correct locale, charset and timezone
independnetness (like text processing tools). The main use-case of
this tool it to scan your application classes for things like
calling opening text files without giving a charset and fail the
build. This tool also allows to find calls to internal JDK apis. We
use this tool in Lucene. See the docs, you can pass
internalRuntimeForbidden="true"
and it will fail your build:
https://code.google.com/p/forbidden-apis/wiki/AntUsage or
https://code.google.com/p/forbidden-apis/wiki/MavenUsage. It is also
available as command line tool:
https://code.google.com/p/forbidden-apis/wiki/CliUsage

See also my blog post:
http://blog.thetaphi.de/2012/07/default-locales-default-charsets-and
.h
tml

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de
eMail: [email protected]


-----Original Message-----
From: Rory O'Donnell [mailto:[email protected]]
Sent: Tuesday, December 17, 2013 1:50 PM
To: Uwe Schindler; Dawid Weiss
Cc: [email protected]; [email protected];
TOPIC,DALIBOR;
BORG,CECILIA; [email protected]
Subject: New JDK 8 tool: jdeps

Hi Uwe/Dawid,

Here's a blog from Erik Costlow on a new tool in JDK 8 that lets you
analyze your code for dependencies on JDK internal APIs :

https://blogs.oracle.com/java-platform-
group/entry/closing_the_closed_apis

Please let me know if you have any feedback - I'd be interested to
hear if you use any internal APIs.

Rgds,Rory

--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to