configurations {
    dep
}

dependencies {
    dep files("$buildDir/generated-modules/commons-lang3-3.12.0.jar")
    dep files("$buildDir/generated-modules/commons-io-2.11.0.jar")
    dep files("$buildDir/generated-modules/commons-math3-3.6.1.jar")
    dep files("$buildDir/generated-modules/commons-exec-1.3.jar")
}

addDependenciesModuleInfo {
    overwriteExistingFiles = true
    jdepsExtraArgs = ['-q']
    outputDirectory = file("$buildDir/generated-modules")
    modules {
        module {
            artifact 'org.apache.commons:commons-lang3:3.12.0'
            moduleInfoSource = '''
                module org.apache.commons.lang3 {
                    exports org.apache.commons.lang3;
                    exports org.apache.commons.lang3.function;
                    exports org.apache.commons.lang3.arch;
                    exports org.apache.commons.lang3.reflect;
                    exports org.apache.commons.lang3.builder;
                    exports org.apache.commons.lang3.text;
                    exports org.apache.commons.lang3.tuple;
                    exports org.apache.commons.lang3.math;
                }
            '''
        }
        module {
            artifact 'commons-io:commons-io:2.11.0'
            moduleInfoSource = '''
                module org.apache.commons.io {
                    exports org.apache.commons.io;
                    exports org.apache.commons.io.file;
                    exports org.apache.commons.io.input;
                    exports org.apache.commons.io.filefilter;
                    exports org.apache.commons.io.output;
                }
            '''
        }
        module {
            artifact 'org.apache.commons:commons-exec:1.3'
            moduleInfoSource = '''
                module commons.exec {
                    exports org.apache.commons.exec;
                }
            '''
        }
        module {
            artifact 'org.apache.commons:commons-collections4:4.4'
            moduleInfoSource = '''
                module org.apache.commons.collections4 {
                    exports org.apache.commons.collections4;
                    exports org.apache.commons.collections4.bidimap;
                    exports org.apache.commons.collections4.multimap;
                }
            '''
        }
        module {
            artifact 'org.apache.commons:commons-math3:3.6.1'
            moduleInfoSource = '''
                module commons.math3 {
                    exports org.apache.commons.math3;
                }
            '''
        }
    }
}
