Patch all eclipse deps to use a strict version
This commit is contained in:
		
							parent
							
								
									b4cd38a287
								
							
						
					
					
						commit
						147af48879
					
				
					 1 changed files with 21 additions and 0 deletions
				
			
		
							
								
								
									
										21
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								build.gradle
									
									
									
									
									
								
							|  | @ -97,6 +97,7 @@ dependencies { | |||
| 
 | ||||
| 	// Mercury pulls all of these deps in, however eclipse does not specify the exact version to use so they can get updated without us knowing. | ||||
| 	// Depend specifically on these versions to prevent them from being updated under our feet. | ||||
| 	// The POM is also patched later on to as this strict versioning does not make it through. | ||||
| 	implementation ('org.eclipse.jdt:org.eclipse.jdt.core:[3.21.0]') | ||||
| 	implementation ('org.eclipse.platform:org.eclipse.compare.core:[3.6.1000]') | ||||
| 	implementation ('org.eclipse.platform:org.eclipse.core.commands:[3.9.800]') | ||||
|  | @ -196,6 +197,18 @@ import org.w3c.dom.Document | |||
| import org.w3c.dom.Element | ||||
| import org.w3c.dom.Node | ||||
| 
 | ||||
| def patchPom(groovy.util.Node node) { | ||||
| 	node.dependencies.first().each { | ||||
| 		def groupId = it.get("groupId").first().value().first() | ||||
| 
 | ||||
| 		// Patch all eclipse deps to use a strict version | ||||
| 		if (groupId.startsWith("org.eclipse.")) { | ||||
| 			def version = it.get("version").first().value().first() | ||||
| 			it.get("version").first().value = new groovy.util.NodeList(["[$version]"]) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| publishing { | ||||
| 	publications { | ||||
| 		plugin(MavenPublication) { publication -> | ||||
|  | @ -207,6 +220,10 @@ publishing { | |||
| 
 | ||||
| 			artifact sourcesJar | ||||
| 			artifact javadocJar | ||||
| 
 | ||||
| 			pom.withXml { | ||||
| 				patchPom(asNode()) | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		// Also publish a snapshot so people can use the latest version if they wish | ||||
|  | @ -219,6 +236,10 @@ publishing { | |||
| 
 | ||||
| 			artifact sourcesJar | ||||
| 			artifact javadocJar | ||||
| 
 | ||||
| 			pom.withXml { | ||||
| 				patchPom(asNode()) | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		// Manually crate the plugin marker for snapshot versions | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue