Given the wide variety of filenames possible do we even need a classification 
scheme?  IOW, why not just take what the user gives us and say thank you :-).  
Is this restriction imposed by our *implementation* choices?

Anthony


> On Oct 7, 2020, at 3:24 PM, Jinmei Liao <jil...@vmware.com> wrote:
> 
> Wait, that reason doesn't make much sense either. Dale/Darrel, do you 
> remember why we did what we did?
> 
> On 10/7/20, 3:12 PM, "Jinmei Liao" <jil...@vmware.com> wrote:
> 
>    I believe we did this for a reason, can't remember exactly what though. 
> Most probably drive by user's existing filenames. I believe we are probably 
> concerned that user's jar name might contain "_" or "-" themselves, like 
> common-logging.jar etc. So we had to resort to finding the first "." followed 
> by a digit to determine where the version pattern begins.
> 
>    On 10/7/20, 1:44 PM, "Udo Kohlmeyer" <u...@vmware.com> wrote:
> 
>        Hi there Geode Dev List,
> 
>        Whilst doing work on 
> GEODE-8466<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FGEODE-8466&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979521227&amp;sdata=CVDbR9YZqWaA1EkLsu5ROExmEzA6USoCMTzugC7uENI%3D&amp;reserved=0>
>  and looking at the functionality that the 
> ClassPathLoader.java<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgeode%2Fblob%2Fdevelop%2Fgeode-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgeode%2Finternal%2FClassPathLoader.java&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979521227&amp;sdata=cdsjg1t510rPd%2FSB49AKCi%2BMoeOQRScJ%2BdFjacKxZl4%3D&amp;reserved=0>,
>  
> JarDeployer.java<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgeode%2Fblob%2Fdevelop%2Fgeode-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgeode%2Finternal%2FJarDeployer.java&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979521227&amp;sdata=ExCXhCbQvEXdObvGLDfAO5FrKSraUelPBcX0u1ahuhs%3D&amp;reserved=0>
>  and 
> DeployedJar.java<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgeode%2Fblob%2Fdevelop%2Fgeode-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgeode%2Finternal%2FDeployedJar.java&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979521227&amp;sdata=cqUbHdC07CSEIzkH%2BOQRO8r8lcmypEXGYSLnzza033w%3D&amp;reserved=0>
>  provide around the “Deploy Jar” functionality, we came across some 
> interesting “supported” filename patterns.
> 
>        According to the 
> JarDeployerFileTest.java<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fgeode%2Fblob%2Fdevelop%2Fgeode-core%2Fsrc%2FintegrationTest%2Fjava%2Forg%2Fapache%2Fgeode%2Finternal%2FJarDeployerFileTest.java&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979521227&amp;sdata=jzWHk6yYryiKAG3Xai%2B34rtwwOD2cea5JgRyQuzfJPs%3D&amp;reserved=0>
>  the “supported” formats are as follows:
> 
>        assertThat(JarDeployer.getArtifactId("abc.jar")).isEqualTo("abc");
>        assertThat(JarDeployer.getArtifactId("abc-1.jar")).isEqualTo("abc");
>        assertThat(JarDeployer.getArtifactId("ab.c.1.jar")).isEqualTo("ab.c");
>        
> assertThat(JarDeployer.getArtifactId("abc.v1.jar")).isEqualTo("abc.v1");
>        
> assertThat(JarDeployer.getArtifactId("abc-1.0.snapshot.jar")).isEqualTo("abc");
>        
> assertThat(JarDeployer.getArtifactId("abc-1.0.v1.jar")).isEqualTo("abc");
>        
> assertThat(JarDeployer.getArtifactId("spark-network-common_2.11-2.3.1.jar"))
>            .isEqualTo("spark-network-common_2");
>        Which don’t make any sense. As the generally accepted norm for a 
> version jar file would be: “<artifact name>[ - <major> . <minor> . <patch> - 
> <Release Tag> ] .jar”. (note the syntax in red)
> 
>        I want to suggest that we DISCONTINUE supporting all jar name formats 
> other than the one mentioned above IMMEDIATELY. As the supported name format 
> is just “funky” but also wrong and can lead to misclassification of the 
> artifact name…. as some of you with a keen eye would have spotted already 😉
> 
>        For those who did not spot the mistake…  
> “spark-network-common_2.11-2.3.1.jar” is incorrectly classified and has the 
> WRONG artifact name. As “spark-network-common_2.11” is the correct artifact 
> name NOT “spark-network-common_2”!
> 
>        I would like to introduce this change with 
> GEODE-8466<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FGEODE-8466&amp;data=02%7C01%7Cbakera%40vmware.com%7C039c005932cf452eae1a08d86b0fd26a%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637377062979531223&amp;sdata=uM34xKV8I7ylvYRuJoUbQS9jUP9TPR3pgplT2yLrMHQ%3D&amp;reserved=0>.
>  This would be a “breaking” change, but we should change this sooner than 
> later. There is no transition ability here, as it would be too hard to have 
> Geode support both, as there is no simple way for the system to decide if the 
> name conforms to the “correct” format or not.
> 
>        DISCUSS!!!
> 
>        --Udo
> 
> 
> 

Reply via email to