I will add this to the documentation page of forbidden-apis. This may also help Elasticsearch and other people :-)
Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: u...@thetaphi.de > -----Original Message----- > From: Mattmann, Chris A (3980) [mailto:chris.a.mattm...@jpl.nasa.gov] > Sent: Friday, January 23, 2015 8:11 PM > To: dev@tika.apache.org > Subject: Re: Forbidden-APIS no longer ran because of carzy POM change > > awesome. Thanks Uwe. > > Tim you want to put that in, or you want me to? > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++ > Chris Mattmann, Ph.D. > Chief Architect > Instrument Software and Science Data Systems Section (398) NASA Jet > Propulsion Laboratory Pasadena, CA 91109 USA > Office: 168-519, Mailstop: 168-527 > Email: chris.a.mattm...@nasa.gov > WWW: http://sunset.usc.edu/~mattmann/ > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++ > Adjunct Associate Professor, Computer Science Department University of > Southern California, Los Angeles, CA 90089 USA > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++ > > > > > > > -----Original Message----- > From: Uwe Schindler <u...@thetaphi.de> > Reply-To: "dev@tika.apache.org" <dev@tika.apache.org> > Date: Friday, January 23, 2015 at 8:47 AM > To: "dev@tika.apache.org" <dev@tika.apache.org> > Subject: RE: Forbidden-APIS no longer ran because of carzy POM change > > >Hi, > > > >I did further investigation. I had the plugin disabled in my eclipse > >(you can do this in quick fix for the whole workspace). In fact, if you > >remove the disable thing, it fails also in Eclipse Luna. > > > >If we want to make the plugin automatically "hidden" to all Eclipse > >versions through our own POM file - this is what the quick fix also > >allows to do for the current project: > > > > <pluginManagement> > > <plugins> > > <!--This plugin's configuration is used to store Eclipse m2e > >settings only. It has no influence on the Maven build itself.--> > > <plugin> > > <groupId>org.eclipse.m2e</groupId> > > <artifactId>lifecycle-mapping</artifactId> > > <version>1.0.0</version> > > <configuration> > > <lifecycleMappingMetadata> > > <pluginExecutions> > > <pluginExecution> > > > <pluginExecutionFilter> > > > <groupId>de.thetaphi</groupId> > > > <artifactId>forbiddenapis</artifactId> > > > <versionRange>[1.0,)</versionRange> > > <goals> > > > <goal>check</goal> > > > <goal>testCheck</goal> > > </goals> > > > </pluginExecutionFilter> > > <action> > > <ignore/> > > </action> > > </pluginExecution> > > </pluginExecutions> > > </lifecycleMappingMetadata> > > </configuration> > > </plugin> > > </plugins> > > </pluginManagement> > > > >This can be put in to tika-parent's POM. > > > >----- > >Uwe Schindler > >H.-H.-Meier-Allee 63, D-28213 Bremen > >http://www.thetaphi.de > >eMail: u...@thetaphi.de > > > > > >> -----Original Message----- > >> From: Uwe Schindler [mailto:u...@thetaphi.de] > >> Sent: Friday, January 23, 2015 5:18 PM > >> To: dev@tika.apache.org > >> Subject: RE: Forbidden-APIS no longer ran because of carzy POM change > >> > >> Hi, this may also help, it also brings the needed information: > >> > >> https://www.eclipse.org/m2e/documentation/m2e-execution-not- > >> covered.html > >> > >> In fact the problem is: Eclipse has no idea how this plugin should be > >>executed internally in Eclipse. But as this is just a "check plugin" > >>that does not affect the build output at all, you can leave it > >>disabled. > >> > >> If you scroll down, you see that Eclipse 4.2+ fixes this problem: > >>Disable the > >> plugin for Maven using Project properties -> Maven -> Lifecycle > >>mappings -> ignore > >> > >> ----- > >> Uwe Schindler > >> H.-H.-Meier-Allee 63, D-28213 Bremen > >> http://www.thetaphi.de > >> eMail: u...@thetaphi.de > >> > >> > >> > -----Original Message----- > >> > From: Mattmann, Chris A (3980) > >> > [mailto:chris.a.mattm...@jpl.nasa.gov] > >> > Sent: Friday, January 23, 2015 4:13 PM > >> > To: dev@tika.apache.org > >> > Subject: Re: Forbidden-APIS no longer ran because of carzy POM > >> > change > >> > > >> > Hi Uwe, > >> > > >> > Thanks. I will check it out. Like I said, I’m not OK reverting > >> > anything if my Eclipse keeps complaining at me so we’ll need a fix > >> > that handles both. Let me try with the latest version of Eclipse > >> > and m2e and see if (with your patch) the issue goes away. > >> > > >> > Cheers, > >> > Chris > >> > > >> > > >> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> > ++++++++ > >> > Chris Mattmann, Ph.D. > >> > Chief Architect > >> > Instrument Software and Science Data Systems Section (398) NASA Jet > >> > Propulsion Laboratory Pasadena, CA 91109 USA > >> > Office: 168-519, Mailstop: 168-527 > >> > Email: chris.a.mattm...@nasa.gov > >> > WWW: http://sunset.usc.edu/~mattmann/ > >> > > >> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> > ++++++++ > >> > Adjunct Associate Professor, Computer Science Department University > >> > of Southern California, Los Angeles, CA 90089 USA > >> > > >> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> > ++++++++ > >> > > >> > > >> > > >> > > >> > > >> > > >> > -----Original Message----- > >> > From: Uwe Schindler <u...@thetaphi.de> > >> > Reply-To: "dev@tika.apache.org" <dev@tika.apache.org> > >> > Date: Friday, January 23, 2015 at 3:59 AM > >> > To: "dev@tika.apache.org" <dev@tika.apache.org> > >> > Subject: RE: Forbidden-APIS no longer ran because of carzy POM > >> > change > >> > > >> > >Here ist he explanation why the plugin is no longer called because > >> > >of > >> > >this: > >> > > > >> > >- Works for me too, but can anyone explain why? – Andrew Swan May > >> > >15 > >> > '13 > >> > >at 6:26 > >> > >- @Andrew I think this works because m2e is not looking for > >> > >plugins in pluginManagement, but only in build/plugins. In the > >> > >Maven world, there is a difference between the two - the former > >> > >defines "if you happen to use this plugin, here's the > >> > >configuration to use", whereas the latter states "use this > >> > >plugin". See this post and its top two answers. – GreenGiant Jul 5 > >> > >'13 at 17:52 > >> > >- I agree with @GreenGiant. I tried this solution but it then > >> > >breaks the compilation since the aspectj plugin is not called > >> > >before compilation. – Pierre Aug 30 '13 at 20:21 > >> > > > >> > >This explains the change. In fact placing the plugins in > >> > >pluginManagements disables them unless explicitely configured in a > >> > >sub-module. So this commit should be reverted. > >> > > > >> > > > >> > >In fact the bug described here no longer applies to later M2E > >> > >installations. It still complains about plugins that Eclipse does > >> > >not know about, but this does not prevent you from using Eclipse. > >> > >So I would strongly ask to revert the commit because it breaks the > build. > >> > > > >> > >Uwe > >> > > > >> > >----- > >> > >Uwe Schindler > >> > >H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de > >> > >eMail: u...@thetaphi.de > >> > > > >> > > > >> > >> -----Original Message----- > >> > >> From: Uwe Schindler [mailto:u...@thetaphi.de] > >> > >> Sent: Friday, January 23, 2015 12:11 PM > >> > >> To: dev@tika.apache.org > >> > >> Subject: Forbidden-APIS no longer ran because of carzy POM > >> > >> change > >> > >> > >> > >> Hi, > >> > >> > >> > >> I just noticed while checking the problems around the > >> > >>ExternalParsers that the TIKA's build no longer runs the > >> > >>forbidden-apis Maven plugin, so we got a few new violation > >> > >>especially regarding the toUpper/LowerCase(). In fact the > >> > >>following > >> commit broke this: > >> > >> > >> > >> Revision: 1624185 > >> > >> Author: mattmann > >> > >> Date: Donnerstag, 11. September 2014 05:11:19 > >> > >> Message: > >> > >> surround in plugin management to resolve > >> > >> http://stackoverflow.com/questions/6352208/how-to-solve-plugin- > >> > >> execution-not-covered-by-lifecycle-configuration-for-sprin > >> > >> ---- > >> > >> Modified : /tika/trunk/tika-parent/pom.xml > >> > >> > >> > >> Since that change, the plugin is no longer run by default. I > >> > >>have no idea, why this is like this, but in fact this broke some > >> > >>of the globally defined check tasks. > >> > >> I have no idea how to reenable it easily. > >> > >> So I cannot help, but reverting that commit restores behavior. > >> > >>What is the reason for this commit, there is not even an issue > >> > >>about > >>that. > >> > >>I think it seems to be a workaround for some Eclipse issue, but > >> > >>in fact this disables the whole plugins. To reenable > >> > >>forbidden-apis you have to now explicitely enable it in every > >> > >>module (because pluginManagement just gives the config of a > >> > >>plugin, where without that it also enables its execution. > >> > >> > >> > >> In addition, there is already version 1.7 of forbiddenapis, so > >> > >>you can replace > >> > >> 1.6.1 of forbidden-apis with version 1.7 (which fixes a few bugs > >> > >>with Java 8 and Java 9). > >> > >> > >> > >> The following new violations were found -> and in fact those > >> > >>broke code in turkish locale: > >> > >> [INFO] > >> > >>----------------------------------------------------------------- > >> > >>--- > >> > >>-- > >> > >>-- [INFO] Building Apache Tika core 1.8-SNAPSHOT [INFO] > >> > >>-------------------------- > >> > >> ---------------------------------------------- > >> > >> [INFO] > >> > >> [INFO] --- forbiddenapis:1.7:testCheck (default) @ tika-core --- > >> > >>[INFO] Scanning for classes to check... > >> > >> [INFO] Reading bundled API signatures: jdk-unsafe [INFO] Reading > >> > >>bundled API signatures: jdk-deprecated [INFO] Loading classes to > >> check... > >> > >> [INFO] Scanning for API signatures and dependencies... > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:79) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:80) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:88) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:133) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:176) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:221) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#toLowerCase() [Uses default locale] > >> > >> [ERROR] in org.apache.tika.sax.BasicContentHandlerFactoryTest > >> > >> (BasicContentHandlerFactoryTest.java:273) > >> > >> [ERROR] Scanned 52 (and 331 related) class file(s) for forbidden > >> > >>API invocations (in 0.16s), 7 error(s). > >> > >> [INFO] > >> > >>----------------------------------------------------------------- > >> > >>--- > >> > >>-- > >> > >>-- > >> > >> [...] > >> > >> [INFO] > >> > >>----------------------------------------------------------------- > >> > >>--- > >> > >>-- > >> > >>-- [INFO] Building Apache Tika parsers 1.8-SNAPSHOT [INFO] > >> > >>---------------------- > >> > >> -------------------------------------------------- > >> > >> [INFO] > >> > >> [INFO] --- forbiddenapis:1.7:check (default-cli) @ tika-parsers > >> > >>--- [INFO] Scanning for classes to check... > >> > >> [INFO] Reading bundled API signatures: jdk-unsafe [INFO] Reading > >> > >>bundled API signatures: jdk-deprecated [INFO] Loading classes to > >> check... > >> > >> [INFO] Scanning for API signatures and dependencies... > >> > >> [ERROR] Forbidden method invocation: > >> > >> java.io.InputStreamReader#<init>(java.io.InputStream) [Uses > >> > >>default charset] > >> > >> [ERROR] in org.apache.tika.parser.ocr.TesseractOCRParser$2 > >> > >> (TesseractOCRParser.java:309) > >> > >> [ERROR] Forbidden method invocation: > >> > >>java.lang.String#<init>(byte[],int,int) > >> > >> [Uses default charset] > >> > >> [ERROR] in > >> org.apache.tika.parser.chm.accessor.ChmDirectoryListingSet > >> > >> (ChmDirectoryListingSet.java:240) [ERROR] Forbidden method > >> > >>invocation: > >> > >> java.text.SimpleDateFormat#<init>(java.lang.String) [Uses > >> > >>default locale] > >> > >> [ERROR] in > >> > >> > >> > > >>org.apache.tika.parser.image.ImageMetadataExtractor$ExifHandler$1 > >> > >> (ImageMetadataExtractor.java:304) [ERROR] Forbidden method > >> > >>invocation: > >> > >> java.lang.String#format(java.lang.String,java.lang.Object[]) > >> > >>[Uses default locale] > >> > >> [ERROR] in org.apache.tika.parser.ocr.TesseractOCRConfig > >> > >> (TesseractOCRConfig.java:214) > >> > >> [ERROR] Scanned 281 (and 813 related) class file(s) for > >> > >>forbidden API invocations (in 0.38s), 4 error(s). > >> > >> > >> > >> Uwe > >> > >> > >> > >> ----- > >> > >> Uwe Schindler > >> > >> H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de > >> > >> eMail: u...@thetaphi.de > >> > > > >> > > > > > >