phxql / argon2-jvm

Argon2 Binding for the JVM
GNU Lesser General Public License v3.0
331 stars 33 forks source link

Library modules not available with 2.8 #79

Closed MoonlightSentinel closed 3 years ago

MoonlightSentinel commented 3 years ago

The library cannot be found on the classpath after upgrading to version 2.8 (previous versions compile without error).


Example project:

build.gradle

plugins {
    id 'java'
    id 'application'
}

repositories {
    jcenter()
}

dependencies {
    implementation group: 'de.mkammerer', name: 'argon2-jvm', version: '2.8'
}

application {
    mainClassName = 'argon.tmp.App'
}

settings.gradle

rootProject.name = 'argon-tmp'

App.java:

package argon.tmp;

import de.mkammerer.argon2.Argon2;
import de.mkammerer.argon2.Argon2Factory;

public class App {

    public static void main(String[] args) {
        // Create instance
        Argon2 argon2 = Argon2Factory.create();
    }
}

Errors:

src/main/java/argon/tmp/App.java:3: error: package de.mkammerer.argon2 does not exist
import de.mkammerer.argon2.Argon2;
                          ^
src/main/java/argon/tmp/App.java:4: error: package de.mkammerer.argon2 does not exist
import de.mkammerer.argon2.Argon2Factory;
                          ^
src/main/java/argon/tmp/App.java:10: error: cannot find symbol
        Argon2 argon2 = Argon2Factory.create();
        ^
  symbol:   class Argon2
  location: class App
src/main/java/argon/tmp/App.java:10: error: cannot find symbol
        Argon2 argon2 = Argon2Factory.create();
                        ^
  symbol:   variable Argon2Factory
  location: class App
4 errors
phxql commented 3 years ago

Thanks for pointing that out - I will investigate.

phxql commented 3 years ago

Okay, somehow the Gradle .module files got published, too. The POM for 2.8 contains <packaging>pom</packaging>, which is wrong. I fixed that, will now investigate why the module is published, too. Or will fix the module file. Damn you gradle.

phxql commented 3 years ago

I just released version 2.9, this should be on Maven Central tomorrow. I hope this fixes this bug, will test tomorrow.

I had to restructure the gradle build, the dependency tree now looks like this:

\--- de.mkammerer:argon2-jvm:2.9
     \--- de.mkammerer:argon2-jvm-nolibs:2.9
          \--- net.java.dev.jna:jna:5.6.0

this should be transparent to users of the library (everything should work as usual).

phxql commented 3 years ago

Works now on my example project. @MoonlightSentinel Could you please re-test that?

MoonlightSentinel commented 3 years ago

Both the example mentioned above as well as my real project(s) work now. Thanks!