| 
									
										
										
										
											2022-01-11 14:55:21 -08:00
										 |  |  | # This script checks the shadow jar to ensure that we only have allowed classes being exposed through the jar | 
					
						
							| 
									
										
										
										
											2022-09-18 18:04:47 -07:00
										 |  |  | libName=datahub-client | 
					
						
							|  |  |  | jarishFile=$(find build/libs -name "${libName}*.jar" -exec ls -1rt "{}" +;) | 
					
						
							|  |  |  | jarFiles=$(echo "$jarishFile" | grep -v sources | grep -v javadoc | tail -n 1) | 
					
						
							| 
									
										
										
										
											2022-01-20 00:48:09 -08:00
										 |  |  | for jarFile in ${jarFiles}; do | 
					
						
							|  |  |  | jar -tvf $jarFile |\
 | 
					
						
							| 
									
										
										
										
											2022-01-11 17:45:31 -08:00
										 |  |  |       grep -v "datahub/shaded" |\
 | 
					
						
							|  |  |  |       grep -v "META-INF" |\
 | 
					
						
							|  |  |  |       grep -v "com/linkedin" |\
 | 
					
						
							|  |  |  |       grep -v "com/datahub" |\
 | 
					
						
							|  |  |  |       grep -v "datahub" |\
 | 
					
						
							|  |  |  |       grep -v "entity-registry" |\
 | 
					
						
							|  |  |  |       grep -v "pegasus/" |\
 | 
					
						
							|  |  |  |       grep -v "legacyPegasusSchemas/" |\
 | 
					
						
							|  |  |  |       grep -v " com/$" |\
 | 
					
						
							| 
									
										
										
										
											2022-05-03 19:38:05 -05:00
										 |  |  |       grep -v " org/$" |\
 | 
					
						
							|  |  |  |       grep -v " io/$" |\
 | 
					
						
							| 
									
										
										
										
											2024-01-11 13:44:06 -06:00
										 |  |  |       grep -v "io/micrometer/" |\
 | 
					
						
							| 
									
										
										
										
											2022-01-20 00:48:09 -08:00
										 |  |  |       grep -v "git.properties" |\
 | 
					
						
							| 
									
										
										
										
											2022-09-18 18:04:47 -07:00
										 |  |  |       #grep -v "org/springframework" |\ | 
					
						
							| 
									
										
										
										
											2022-05-03 19:38:05 -05:00
										 |  |  |       grep -v "org/aopalliance" |\
 | 
					
						
							|  |  |  |       grep -v "javax/" |\
 | 
					
						
							|  |  |  |       grep -v "io/swagger" |\
 | 
					
						
							|  |  |  |       grep -v "JavaSpring" |\
 | 
					
						
							|  |  |  |       grep -v "java-header-style.xml" |\
 | 
					
						
							|  |  |  |       grep -v "xml-header-style.xml" |\
 | 
					
						
							|  |  |  |       grep -v "license.header" |\
 | 
					
						
							| 
									
										
										
										
											2022-05-04 23:09:29 -07:00
										 |  |  |       grep -v "module-info.class" |\
 | 
					
						
							| 
									
										
										
										
											2022-06-14 15:46:00 -05:00
										 |  |  |       grep -v "com/google/" |\
 | 
					
						
							|  |  |  |       grep -v "org/codehaus/" |\
 | 
					
						
							| 
									
										
										
										
											2022-06-21 06:02:57 +05:30
										 |  |  |       grep -v "client.properties" |\
 | 
					
						
							|  |  |  |       grep -v "kafka" |\
 | 
					
						
							|  |  |  |       grep -v "win/" |\
 | 
					
						
							|  |  |  |       grep -v "include/" |\
 | 
					
						
							|  |  |  |       grep -v "linux/" |\
 | 
					
						
							|  |  |  |       grep -v "darwin" |\
 | 
					
						
							|  |  |  |       grep -v "MetadataChangeProposal.avsc" |\
 | 
					
						
							| 
									
										
										
										
											2024-01-22 11:46:04 -06:00
										 |  |  |       grep -v "aix" |\
 | 
					
						
							| 
									
										
										
										
											2024-10-03 21:10:26 -05:00
										 |  |  |       grep -v "com/sun/"  |\
 | 
					
						
							|  |  |  |       grep -v "mozilla"  |\
 | 
					
						
							|  |  |  |       grep -v "VersionInfo.java" |\
 | 
					
						
							|  |  |  |       grep -v "mime.types" |\
 | 
					
						
							| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  |       grep -v "com/ibm/.*" |\
 | 
					
						
							|  |  |  |       grep -v "org/apache/avro" |\
 | 
					
						
							| 
									
										
										
										
											2025-04-12 15:34:17 -05:00
										 |  |  |       grep -v "org/apache" |\
 | 
					
						
							| 
									
										
										
										
											2025-05-30 21:51:36 -05:00
										 |  |  |       grep -v "org/publicsuffix" |\
 | 
					
						
							|  |  |  |       grep -v "com/eclipsesource/" |\
 | 
					
						
							|  |  |  |       grep -v "freebsd/" | 
					
						
							| 
									
										
										
										
											2024-11-26 14:03:22 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-25 14:46:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-11 17:45:31 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-11 14:55:21 -08:00
										 |  |  | if [ $? -ne 0 ]; then | 
					
						
							| 
									
										
										
										
											2022-01-20 00:48:09 -08:00
										 |  |  |   echo "✅ No unexpected class paths found in ${jarFile}" | 
					
						
							| 
									
										
										
										
											2022-01-11 14:55:21 -08:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2022-01-20 00:48:09 -08:00
										 |  |  |   echo "💥 Found unexpected class paths in ${jarFile}" | 
					
						
							| 
									
										
										
										
											2022-01-11 14:55:21 -08:00
										 |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2022-01-20 00:48:09 -08:00
										 |  |  | done | 
					
						
							|  |  |  | exit 0 |