Works fine here! After I removed the manual override of the plugin lifecycle settings, restart, & maven update, TIKA built successfully. So the setting in Parent POM is enough. I will update the forbidden-apis documentation to help others, too.
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 9:08 PM > To: dev@tika.apache.org > Subject: RE: Forbidden-APIS no longer ran because of carzy POM change > > Hi Timothy, > > Your commit looks fine. Basically, this <pluginManagement> section is just > containing some "fake" plugin that is never actively executed, but used by > Eclipse to detect which plugins map to internal lifecycles of the Eclipse > IDE. It > uses this to map for example how to execute the "compile" maven plugin > inside Eclipse (use ECJ compiler) or let the surefire plugin map to the > internal > Eclipse test runner. > > Our addition through the parent POM just tells eclipse how to map the > forbidden-apis plugin: To *nothing*, just ignore it inside the Eclipse IDE. > > I will try it with Eclipse later, to make sure all is fine. But looks good to > me. I > have not yet tried the setup with parent POMs, but I assume this should be > fine. > > Uwe > > ----- > Uwe Schindler > H.-H.-Meier-Allee 63, D-28213 Bremen > http://www.thetaphi.de > eMail: u...@thetaphi.de > > > > -----Original Message----- > > From: Allison, Timothy B. [mailto:talli...@mitre.org] > > Sent: Friday, January 23, 2015 8:35 PM > > To: dev@tika.apache.org > > Subject: RE: Forbidden-APIS no longer ran because of carzy POM change > > > > Uwe, > > To confirm, we need to add this > > <pluginManagement>...</pluginManagement> fully as it is in the parent > > pom.xml, we should not put the plugin under our regular plugins (which > > no longer have <pluginManagement>? > > > > -----Original Message----- > > From: Uwe Schindler [mailto:u...@thetaphi.de] > > Sent: Friday, January 23, 2015 11:47 AM > > To: 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 > > > > > > > > > > > >