[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-26 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17693720#comment-17693720
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/26/23 10:19 PM:
---

[~icshuo] hey, thanks for the hint to try to reroduce the issue. I followed it, 
you can check that version at 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation/src/main/scala]

The scala app looks like:
{code:java}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
object MyApp extends App with Logging {  
  println("Logger FQCN: " + Logger.FQCN)
  logger.info("Test Logging")
} 
{code}
Executing the app shows
{code:java}
Logger FQCN: relocated.scala.Logger${code}{code}
Which still seems to be correct And, well, the bytecode generated for relocated 
classes also looks good, for example:  
{code:java}
{code:java}
public void delayedInit(relocated.scala.Function0https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation/src/main/scala]

The scala app looks like:
{code:java}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
object MyApp extends App with Logging {  
  println("Logger FQCN: " + Logger.FQCN)
  logger.info("Test Logging")
} 
{code}
Executing the app shows
 
{code:java}
Logger FQCN: relocated.scala.Logger${code}
 
Which still seems to be correct
And, well, the bytecode generated for relocated classes also looks good, for 
example:
 
{code:java}
public void delayedInit(relocated.scala.Function0 Package relocation appears not to work with Scala
> -
>
> Key: MSHADE-345
> URL: https://issues.apache.org/jira/browse/MSHADE-345
> Project: Maven Shade Plugin
>  Issue Type: Bug
>Reporter: Graham Pople
>Priority: Major
> Attachments: image (4).png
>
>
> (Apologies if this is a known issue, I searched but couldn't find it.)
> I have a small pom.xml that's simply pulling in two dependent libraries from 
> Maven, and shading them:
> {code:java}
> 
> http://maven.apache.org/POM/4.0.0";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";>
> 4.0.0
> com.couchbase.client
> scala-deps
> 1.1.1-SNAPSHOT
> jar
> Couchbase Scala Dependencies
> Shadowing dependencies for Scala prokect
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-core_2.12
> 1.0.0
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-macros_2.12
> 1.0.0
> 
> 
> 
> 
> 
> org.apache.maven.plugins
> maven-shade-plugin
> 3.2.1
> 
> 
> 
> com.github.plokhotnyuk
> 
> com.couchbase.client.scala.deps.plokhotnyuk
> 
> 
> true
> true
> true
> 
> 
> 
> package
> 
> shade
> 
> 
> 
> 
> 
> 
>  {code}
> From this I expect to get an uber-jar containing those dependencies, with 
> classfiles inside 
> com/couchbase/client/scala/deps/plokhotnyuk/jsoniter_scala/..., and with 
> those files starting "package com.couchbase.client.scala.deps.plokhotnyuk...".
> However, while the files are moved to the correct file structure, the package 
> names aren't adjusted.  Here's a screenshot from the sources jar:
> !image (4).png!
>  
> And my experiments with the binary jar itself seem to indicate that the same 
> issue exists at the bytecode level in the regular jar too, e.g. the 
> classfiles are in the right place but the package hasn't been changed.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-26 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17693720#comment-17693720
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/26/23 10:16 PM:
---

[~icshuo] hey, thanks for the hint to try to reroduce the issue. I followed it, 
you can check that version at 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation/src/main/scala]

The scala app looks like:
{code:java}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
object MyApp extends App with Logging {  
  println("Logger FQCN: " + Logger.FQCN)
  logger.info("Test Logging")
} 
{code}
Executing the app shows
 
{code:java}
Logger FQCN: relocated.scala.Logger${code}
 
Which still seems to be correct
And, well, the bytecode generated for relocated classes also looks good, for 
example:
 
{code:java}
public void delayedInit(relocated.scala.Function0https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation/src/main/scala]

The scala app looks like:

```
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;

object MyApp extends App with Logging {
  println("Logger FQCN: " + Logger.FQCN)
  logger.info("Test Logging")
}
```
 
Executing the app shows
 
```
Logger FQCN: relocated.scala.Logger$
```
 
Which still seems to be correct
And, well, the bytecode generated for relocated classes also looks good, for 
example:
 
```
public void delayedInit(relocated.scala.Function0 Package relocation appears not to work with Scala
> -
>
> Key: MSHADE-345
> URL: https://issues.apache.org/jira/browse/MSHADE-345
> Project: Maven Shade Plugin
>  Issue Type: Bug
>Reporter: Graham Pople
>Priority: Major
> Attachments: image (4).png
>
>
> (Apologies if this is a known issue, I searched but couldn't find it.)
> I have a small pom.xml that's simply pulling in two dependent libraries from 
> Maven, and shading them:
> {code:java}
> 
> http://maven.apache.org/POM/4.0.0";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";>
> 4.0.0
> com.couchbase.client
> scala-deps
> 1.1.1-SNAPSHOT
> jar
> Couchbase Scala Dependencies
> Shadowing dependencies for Scala prokect
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-core_2.12
> 1.0.0
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-macros_2.12
> 1.0.0
> 
> 
> 
> 
> 
> org.apache.maven.plugins
> maven-shade-plugin
> 3.2.1
> 
> 
> 
> com.github.plokhotnyuk
> 
> com.couchbase.client.scala.deps.plokhotnyuk
> 
> 
> true
> true
> true
> 
> 
> 
> package
> 
> shade
> 
> 
> 
> 
> 
> 
>  {code}
> From this I expect to get an uber-jar containing those dependencies, with 
> classfiles inside 
> com/couchbase/client/scala/deps/plokhotnyuk/jsoniter_scala/..., and with 
> those files starting "package com.couchbase.client.scala.deps.plokhotnyuk...".
> However, while the files are moved to the correct file structure, the package 
> names aren't adjusted.  Here's a screenshot from the sources jar:
> !image (4).png!
>  
> And my experiments with the binary jar itself seem to indicate that the same 
> issue exists at the bytecode level in the regular jar too, e.g. the 
> classfiles are in the right place but the package hasn't been changed.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 9:02 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included in the bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 8:22 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 8:22 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 8:21 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 8:20 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-06 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 8:17 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation]
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/String

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:55 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation
 )
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBu

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:55 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've upload them here: 
[https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation|https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation:]
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/Str

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:54 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far (i've uploas them here: 
https://github.com/jneira/maven-shade-plugin/tree/SHADE-345_scala-package-relocation/src/it/projects/MSHADE-345_scala-package-relocation:
 * I have this pom.xml:

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBuil

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:53 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far:
 * I have this pom.xml:

 
{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 * And i have a Main class using the classes being relocated:

{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 * The bytecode genetated for Main.class inside the shaded jar is:

{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      60: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      63: return
}{no

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:52 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included int he bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompiled class file with 
the wrong package.

My tests so far:
 * I have this pom.xml:

 
{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 
 * And i have a Main class using the classes being relocated:

 

 
{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 

 
 * The bytecode genetated for Main.class inside the shaded jar is:

 
{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      60: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      6

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:50 AM:
-

Hi! i am trying to reproduce the issue but i am not able to do it.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included as a bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompilaed class file with 
the wrong package.

My tests so far:
 * I have this pom.xml:

 
{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 
 * And i have a Main class using the classes being relocated:

 

 
{noformat}
import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 

 
 * The bytecode genetated for Main.class inside the shaded jar is:

 
{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      60: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      63

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:49 AM:
-

Hi! i am trying to reproduce the issue but i am not able to reproduce.

>From my tests i would say that the plugin is relocating scala code correctly.

{{package}} sentences are not included as a bytecode when compiling any jvm 
lang to bytecode.

So i think that maybe the ide is interfering in the result and it is showing a 
wrong package, cause it still think the class is the original and not the 
shaded one. In fact my ide is showing me a similar decompilaed class file with 
the wrong package.

My tests so far:
 * I have this pom.xml:

 
{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 
 * And i have a Main class using the classes being relocated:

 

 
{noformat}

import org.apache.logging.log4j.scala.Logger;
import org.apache.logging.log4j.scala.Logging;
import org.apache.logging.log4j.spi.ExtendedLogger;

public class Main {
  public static void main(String[] args) {
    System.out.println("Test" + Logger.FQCN());
    Test t = new Test();
    System.out.println("Logger: " + t.logger());
  }
  public static class Test implements Logging{
    public ExtendedLogger logger() {
      return null;
    }
    public void 
org$apache$logging$log4j$scala$Logging$_setter_$logger_$eq(ExtendedLogger arg0) 
{
      return;
    }
  }
}
{noformat}
 

 
 * The bytecode genetated for Main.class inside the shaded jar is:

||
{noformat}
   Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0
       1: invokespecial #12                 // Method 
java/lang/Object."":()V
       4: return  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
       3: new           #24                 // class java/lang/StringBuilder
       6: dup
       7: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      10: ldc           #26                 // String Test
      12: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: invokestatic  #36                 // Method 
relocated/scala211/Logger.FQCN:()Ljava/lang/String;
      18: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      21: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      24: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
      27: new           #7                  // class Main$Test
      30: dup
      31: invokespecial #46                 // Method Main$Test."":()V
      34: astore_1
      35: getstatic     #22                 // Field 
java/lang/System.out:Ljava/io/PrintStream;
      38: new           #24                 // class java/lang/StringBuilder
      41: dup
      42: invokespecial #25                 // Method 
java/lang/StringBuilder."":()V
      45: ldc           #48                 // String Logger:
      47: invokevirtual #30                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      50: aload_1
      51: invokevirtual #52                 // Method 
Main$Test.logger:()Lorg/apache/logging/log4j/spi/ExtendedLogger;
      54: invokevirtual #55                 // Method 
java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
      57: invokevirtual #39                 // Method 
java/lang/StringBuilder.toString:()Ljava/lang/String;
      60: invokevirtual #45                 // Method 
java/io/PrintStream.println:(Ljava/lang/String;)V
  

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:35 AM:
-

Hi! i am trying to reproduce the issue but i am not sure on how do it:

 

I have this pom.xml:

 
{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  

  

  


{noformat}
 

An i have a Main class using the classes being relocated: 

As you can check in the bytecode 
org{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4}.{color}{color:#dcdcaa}FQCN{color}{color:#d4d4d4}(){color}
  has been relocated to {color:#569cd6}Method{color}{color:#6a9955} 
{color}{color:#4ec9b0}relocated/scala211/Logger{color}{color:#569cd6}.{color}{color:#dcdcaa}FQCN{color}{color:#569cd6}:()L{color}{color:#4ec9b0}java/lang/String{color}{color:#569cd6};{color}

{color:#569cd6} {color}


was (Author: jneira):
Hi! i am trying to reproduce the issue but i am not sure on how do it:

 

I have this pom.xml:

 

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  
  
attach-shade-212
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.12

  
  

  org.apache.logging.log4j.scala
  relocated.scala212

  

  
  
attach-shade-213
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.13

  
  

  org.apache.logging.log4j.scala
  relocated.scala213

  

  

  

  


{noformat}


My Main class is:

 
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4};{color}
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{co

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:33 AM:
-

Hi! i am trying to reproduce the issue but i am not sure on how do it:

 

I have this pom.xml:

 

{noformat}

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  
  
attach-shade-212
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.12

  
  

  org.apache.logging.log4j.scala
  relocated.scala212

  

  
  
attach-shade-213
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.13

  
  

  org.apache.logging.log4j.scala
  relocated.scala213

  

  

  

  


{noformat}


My Main class is:

 
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4};{color}
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logging{color}{color:#d4d4d4};{color}
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}spi{color}{color:#d4d4d4}.{color}{color:#4ec9b0}ExtendedLogger{color}{color:#d4d4d4};{color}


{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#569cd6}class{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}Main{color}{color:#d4d4d4} {{color}
{color:#d4d4d4}  {color}{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#569cd6}static{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}void{color}{color:#d4d4d4} 
{color}{color:#dcdcaa}main{color}{color:#d4d4d4}({color}{color:#4ec9b0}String{color}{color:#d4d4d4}[]
 {color}{color:#9cdcfe}args{color}{color:#d4d4d4}) {{color}
{color:#d4d4d4}    
{color}{color:#4ec9b0}System{color}{color:#d4d4d4}.{color}{color:#4fc1ff}out{color}{color:#d4d4d4}.{color}{color:#dcdcaa}println{color}{color:#d4d4d4}({color}{color:#ce9178}"Test"{color}{color:#d4d4d4}
 + 
{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4}.{color}{color:#dcdcaa}FQCN{color}{color:#d4d4d4}());{color}
{color:#d4d4d4}    {color}{color:#4ec9b0}Test{color}{color:#d4d4d4} 
{color}{color:#9cdcfe}t{color}{color:#d4d4d4} = 
{color}{color:#c586c0}new{color}{color:#d4d4d4} 
{color}{color:#dcdcaa}Test{color}{color:#d4d4d4}();{color}
{color:#d4d4d4}    
{color}{color:#4ec9b0}System{color}{color:#d4d4d4}.{color}{color:#4fc1ff}out{color}{color:#d4d4d4}.{color}{color:#dcdcaa}println{color}{color:#d4d4d4}({color}{color:#ce9178}"Logger:
 "{color}{color:#d4d4d4} + 
{color}{color:#9cdcfe}t{color}{color:#d4d4d4}.{color}{color:#dcdcaa}logger{color}{color:#d4d4d4}());{color}
{color:#d4d4d4}  }{color}

{color:#d4d4d4}  {color}{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#56

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-02-05 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17684326#comment-17684326
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 2/6/23 6:32 AM:
-

Hi! i am trying to reproduce the issue but i am not sure on how do it:

 

I have this pom.xml:

``` 

  4.0.0

  org.apache.maven.its.shade.rie
  test
  1.0
  jar

  MSHADE-345
  
Test handling scala package relocation.
  

  

  org.apache.logging.log4j
  log4j-api-scala_2.11
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.12
  12.0


  org.apache.logging.log4j
  log4j-api-scala_2.13
  12.0

  

  

  
org.apache.maven.plugins
maven-shade-plugin
3.2.4

  
attach-shade-211
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.11
  org.scala-lang:scala-library

  
  

  org.apache.logging.log4j.scala
  relocated.scala211


  scala
  relocated.scala211

  

  
  
attach-shade-212
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.12

  
  

  org.apache.logging.log4j.scala
  relocated.scala212

  

  
  
attach-shade-213
package

  shade


  false
  

  
org.apache.logging.log4j:log4j-api-scala_2.13

  
  

  org.apache.logging.log4j.scala
  relocated.scala213

  

  

  

  

``` 

My Main class is:

 
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4};{color}
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}scala{color}{color:#d4d4d4}.{color}{color:#4ec9b0}Logging{color}{color:#d4d4d4};{color}
{color:#569cd6}import{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}org{color}{color:#d4d4d4}.{color}{color:#4ec9b0}apache{color}{color:#d4d4d4}.{color}{color:#4ec9b0}logging{color}{color:#d4d4d4}.{color}{color:#4ec9b0}log4j{color}{color:#d4d4d4}.{color}{color:#4ec9b0}spi{color}{color:#d4d4d4}.{color}{color:#4ec9b0}ExtendedLogger{color}{color:#d4d4d4};{color}


{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#569cd6}class{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}Main{color}{color:#d4d4d4} {{color}
{color:#d4d4d4}  {color}{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#569cd6}static{color}{color:#d4d4d4} 
{color}{color:#4ec9b0}void{color}{color:#d4d4d4} 
{color}{color:#dcdcaa}main{color}{color:#d4d4d4}({color}{color:#4ec9b0}String{color}{color:#d4d4d4}[]
 {color}{color:#9cdcfe}args{color}{color:#d4d4d4}) {{color}
{color:#d4d4d4}    
{color}{color:#4ec9b0}System{color}{color:#d4d4d4}.{color}{color:#4fc1ff}out{color}{color:#d4d4d4}.{color}{color:#dcdcaa}println{color}{color:#d4d4d4}({color}{color:#ce9178}"Test"{color}{color:#d4d4d4}
 + 
{color}{color:#4ec9b0}Logger{color}{color:#d4d4d4}.{color}{color:#dcdcaa}FQCN{color}{color:#d4d4d4}());{color}
{color:#d4d4d4}    {color}{color:#4ec9b0}Test{color}{color:#d4d4d4} 
{color}{color:#9cdcfe}t{color}{color:#d4d4d4} = 
{color}{color:#c586c0}new{color}{color:#d4d4d4} 
{color}{color:#dcdcaa}Test{color}{color:#d4d4d4}();{color}
{color:#d4d4d4}    
{color}{color:#4ec9b0}System{color}{color:#d4d4d4}.{color}{color:#4fc1ff}out{color}{color:#d4d4d4}.{color}{color:#dcdcaa}println{color}{color:#d4d4d4}({color}{color:#ce9178}"Logger:
 "{color}{color:#d4d4d4} + 
{color}{color:#9cdcfe}t{color}{color:#d4d4d4}.{color}{color:#dcdcaa}logger{color}{color:#d4d4d4}());{color}
{color:#d4d4d4}  }{color}

{color:#d4d4d4}  {color}{color:#569cd6}public{color}{color:#d4d4d4} 
{color}{color:#569cd6}static{color

[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2023-01-20 Thread Javier Neira Sanchez (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17679173#comment-17679173
 ] 

Javier Neira Sanchez edited comment on MSHADE-345 at 1/20/23 2:37 PM:
--

Hi, sadly still no news about the issue, there is some plan or wip (or a 
workaround?) about it?

thanks!


was (Author: jneira):
Hi, sadly still no news about the issue, there is some plan or wip about it?

thanks!

> Package relocation appears not to work with Scala
> -
>
> Key: MSHADE-345
> URL: https://issues.apache.org/jira/browse/MSHADE-345
> Project: Maven Shade Plugin
>  Issue Type: Bug
>Reporter: Graham Pople
>Priority: Major
> Attachments: image (4).png
>
>
> (Apologies if this is a known issue, I searched but couldn't find it.)
> I have a small pom.xml that's simply pulling in two dependent libraries from 
> Maven, and shading them:
> {code:java}
> 
> http://maven.apache.org/POM/4.0.0";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";>
> 4.0.0
> com.couchbase.client
> scala-deps
> 1.1.1-SNAPSHOT
> jar
> Couchbase Scala Dependencies
> Shadowing dependencies for Scala prokect
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-core_2.12
> 1.0.0
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-macros_2.12
> 1.0.0
> 
> 
> 
> 
> 
> org.apache.maven.plugins
> maven-shade-plugin
> 3.2.1
> 
> 
> 
> com.github.plokhotnyuk
> 
> com.couchbase.client.scala.deps.plokhotnyuk
> 
> 
> true
> true
> true
> 
> 
> 
> package
> 
> shade
> 
> 
> 
> 
> 
> 
>  {code}
> From this I expect to get an uber-jar containing those dependencies, with 
> classfiles inside 
> com/couchbase/client/scala/deps/plokhotnyuk/jsoniter_scala/..., and with 
> those files starting "package com.couchbase.client.scala.deps.plokhotnyuk...".
> However, while the files are moved to the correct file structure, the package 
> names aren't adjusted.  Here's a screenshot from the sources jar:
> !image (4).png!
>  
> And my experiments with the binary jar itself seem to indicate that the same 
> issue exists at the bytecode level in the regular jar too, e.g. the 
> classfiles are in the right place but the package hasn't been changed.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (MSHADE-345) Package relocation appears not to work with Scala

2020-11-04 Thread zhangminglei (Jira)


[ 
https://issues.apache.org/jira/browse/MSHADE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17226540#comment-17226540
 ] 

zhangminglei edited comment on MSHADE-345 at 11/5/20, 7:46 AM:
---

I encounter the same issue. I would like to think we should add relocation for 
scala for shading.


was (Author: mingleizhang):
I encounter this same issue. I would like to think we should add relocation for 
scala in shade.

> Package relocation appears not to work with Scala
> -
>
> Key: MSHADE-345
> URL: https://issues.apache.org/jira/browse/MSHADE-345
> Project: Maven Shade Plugin
>  Issue Type: Bug
>Reporter: Graham Pople
>Priority: Major
> Attachments: image (4).png
>
>
> (Apologies if this is a known issue, I searched but couldn't find it.)
> I have a small pom.xml that's simply pulling in two dependent libraries from 
> Maven, and shading them:
> {code:java}
> 
> http://maven.apache.org/POM/4.0.0";
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";>
> 4.0.0
> com.couchbase.client
> scala-deps
> 1.1.1-SNAPSHOT
> jar
> Couchbase Scala Dependencies
> Shadowing dependencies for Scala prokect
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-core_2.12
> 1.0.0
> 
> 
> com.github.plokhotnyuk.jsoniter-scala
> jsoniter-scala-macros_2.12
> 1.0.0
> 
> 
> 
> 
> 
> org.apache.maven.plugins
> maven-shade-plugin
> 3.2.1
> 
> 
> 
> com.github.plokhotnyuk
> 
> com.couchbase.client.scala.deps.plokhotnyuk
> 
> 
> true
> true
> true
> 
> 
> 
> package
> 
> shade
> 
> 
> 
> 
> 
> 
>  {code}
> From this I expect to get an uber-jar containing those dependencies, with 
> classfiles inside 
> com/couchbase/client/scala/deps/plokhotnyuk/jsoniter_scala/..., and with 
> those files starting "package com.couchbase.client.scala.deps.plokhotnyuk...".
> However, while the files are moved to the correct file structure, the package 
> names aren't adjusted.  Here's a screenshot from the sources jar:
> !image (4).png!
>  
> And my experiments with the binary jar itself seem to indicate that the same 
> issue exists at the bytecode level in the regular jar too, e.g. the 
> classfiles are in the right place but the package hasn't been changed.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)