> Define 'addressing'. :-) > I didn't refactor because I don't really know which direction will be the > right direction for that plugin. So in a way the plugin is still the same. > All I did was to change all the API calls to httpclient 4.1.1 and check > that the tests still run (it wasn't as easy as it sounds. :-P )
That's at least something. Unfortunately, I never had a closer look to the httpclient plugin, and cannot estimate what level of rewriting is required. > So what you are saying is that I can make the protocol-httpclient use the > latest 4.3.x version without breaking anything? Yes, it should be possible. It happens just often that different versions of a lib are used. > So what do you say? Should I redo it with 4.2.6? Go straight for 4.3.x? > I would like to be able to provide a patch for 2.2.1 users and trunk users > considering i'm a 2.2.1 user myself. > What would be the correct approach? Go straight for 4.3.x and not depend on indirectly on the Solr version. > What exactly do I need to change and where? src/plugin/protocol-httpclient/ivy.xml -> add as dependency src/plugin/protocol-httpclient/plugin.xml -> add as library -> add also transitive dependencies The best was is to have a look at another plugin, e.g., indexer-elastic > Will I still be able to use > Eclipse or will it break because Eclipse won't know how to provide the > correct dependency? You have to update the dependencies: - if you use IvyDE : add the ivy.xml as IvyDE lib to Java build path - if "ant eclipse": change ivy.xml, close the Eclipse project, call "ant eclipse", open project again and press F5 "Refresh" Sebastian On 04/04/2014 10:56 PM, d_k wrote: > On Fri, Apr 4, 2014 at 11:28 PM, Sebastian Nagel <[email protected] >> wrote: > >> Hi, >> >> does it mean you are (also) addressing NUTCH-1086? Would be great, >> since this issue is waiting for a solution since long! >> > > Define 'addressing'. :-) > I didn't refactor because I don't really know which direction will be the > right direction for that plugin. So in a way the plugin is still the same. > All I did was to change all the API calls to httpclient 4.1.1 and check > that the tests still run (it wasn't as easy as it sounds. :-P ) > > >>> The reason I picked version 4.1.1 and not the latest is because I noticed >>> it is already in the build/lib dir and I wasn't sure I can use two >> versions >>> of the jar with the same namespace without creating conflicts. >> >> You should be able to use any version of httpclient, but it must be >> registered as dependency in the plugin's ivy.xml >> (src/plugin/protocol-httpclient/ivy.xml), >> not in the "main" ivy/ivy.xml. >> > > Actually I didn't change any ivy xml. I just changed the code to use the > new imports and it must have picked up the dependencies by itself. I used > Eclipse so maybe it has something to do with it. > > >> Each plugin gets its own class loader to solve the problem of conflicting >> dependencies, see >> https://wiki.apache.org/nutch/WhatsTheProblemWithPluginsAndClass-loading >> > > So what you are saying is that I can make the protocol-httpclient use the > latest 4.3.x version without breaking anything? > What exactly do I need to change and where? Will I still be able to use > Eclipse or will it break because Eclipse won't know how to provide the > correct dependency? > > >> I didn't check 2.2.1, but in head of 2.x httpclient 4.2.6 is a dependency >> of a dependency (solrj) of the indexer-solr plugin. The upgrade has been >> done >> with NUTCH-1568. >> > > So what do you say? Should I redo it with 4.2.6? Go straight for 4.3.x? > I would like to be able to provide a patch for 2.2.1 users and trunk users > considering i'm a 2.2.1 user myself. > What would be the correct approach? > > > >> Sebastian >> >> On 04/04/2014 04:14 PM, d_k wrote: >>> I've written a patch for the 2.2.1 source code that upgrades the >>> protocol-httpclient to httpclient 4.1.1 >>> >>> Unfortunately I had to adjust the test because currently httpclient 4.1.1 >>> does not support authenticating with different credentials against >>> different realms in the same domain: >>> HTTPCLIENT-1490<https://issues.apache.org/jira/browse/HTTPCLIENT-1490> >>> . >>> >>> The reason I picked version 4.1.1 and not the latest is because I noticed >>> it is already in the build/lib dir and I wasn't sure I can use two >> versions >>> of the jar with the same namespace without creating conflicts. >>> >>> My questions are: >>> 1) Anyone needs this patch or did I took the wrong path in choosing >> 4.1.1? >>> 2) If so, under what JIRA issue should I submit it? NUTCH-751? >> NUTCH-1086? >>> something else? new issue? >>> >> >> >

