dependencies {
    implementation files("$buildDir/generated-modules/flexmark-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-data-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-ast-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-builder-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-sequence-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-misc-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-dependency-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-collection-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-format-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-html-0.64.0.jar")
    implementation files("$buildDir/generated-modules/flexmark-util-visitor-0.64.0.jar")
}

addDependenciesModuleInfo {
    overwriteExistingFiles = true
    jdepsExtraArgs = ['-q']
    outputDirectory = file("$buildDir/generated-modules")
    modules {
        module {
            artifact 'com.vladsch.flexmark:flexmark:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark {
                    exports com.vladsch.flexmark.html;
                    exports com.vladsch.flexmark.html.renderer;
                    exports com.vladsch.flexmark.parser;
                    exports com.vladsch.flexmark.parser.core;
                    
                    requires com.vladsch.flexmark_util_data;
                    requires com.vladsch.flexmark_util_ast;
                    requires com.vladsch.flexmark_util_builder;
                    requires com.vladsch.flexmark_util_sequence;
                    requires com.vladsch.flexmark_util_misc;
                    requires com.vladsch.flexmark_util_dependency;
                    requires com.vladsch.flexmark_util_collection;
                    requires com.vladsch.flexmark_util_format;
                    requires com.vladsch.flexmark_util_html;
                    requires com.vladsch.flexmark_util_visitor;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-data:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_data {
                    exports com.vladsch.flexmark.util.data;
                    
                    requires com.vladsch.flexmark_util_misc;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-ast:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_ast {
                    exports com.vladsch.flexmark.util.ast;
                    
                    requires com.vladsch.flexmark_util_data;
                    requires com.vladsch.flexmark_util_misc;
                    requires com.vladsch.flexmark_util_collection;
                    requires com.vladsch.flexmark_util_sequence;
                    requires com.vladsch.flexmark_util_visitor;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-builder:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_builder {
                    exports com.vladsch.flexmark.util.builder;
                   
                    requires com.vladsch.flexmark_util_data;
                    requires com.vladsch.flexmark_util_misc;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-sequence:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_sequence {
                    exports com.vladsch.flexmark.util.sequence;
                    exports com.vladsch.flexmark.util.sequence.mappers;
                    exports com.vladsch.flexmark.util.sequence.builder;
                    
                    opens com.vladsch.flexmark.util.sequence;
                    
                    requires com.vladsch.flexmark_util_misc;
                    requires com.vladsch.flexmark_util_data;
                    requires com.vladsch.flexmark_util_collection;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-misc:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_misc {
                    exports com.vladsch.flexmark.util.misc;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-dependency:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_dependency {
                    exports com.vladsch.flexmark.util.dependency;
                    
                    requires com.vladsch.flexmark_util_collection;
                    requires com.vladsch.flexmark_util_misc;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-collection:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_collection {
                    exports com.vladsch.flexmark.util.collection;
                    exports com.vladsch.flexmark.util.collection.iteration;
                    
                    requires com.vladsch.flexmark_util_misc;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-format:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_format {
                    exports com.vladsch.flexmark.util.format;
                    
                    requires com.vladsch.flexmark_util_data;
                    requires com.vladsch.flexmark_util_sequence;
                    requires com.vladsch.flexmark_util_misc;
                    requires com.vladsch.flexmark_util_ast;
                    requires com.vladsch.flexmark_util_collection;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-html:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_html {
                    exports com.vladsch.flexmark.util.html;
                    
                    opens com.vladsch.flexmark.util.html;
                    
                    requires com.vladsch.flexmark_util_misc;
                    requires com.vladsch.flexmark_util_sequence;
                }
            '''
        }
        module {
            artifact 'com.vladsch.flexmark:flexmark-util-visitor:0.64.0'
            moduleInfoSource = '''
                module com.vladsch.flexmark_util_visitor {
                    exports com.vladsch.flexmark.util.visitor;
                }
            '''
        }
    }
}