JAVADOC_CONTENT -> JAVADOC_CONTENT [0:1]
|--LEADING_ASTERISK -> * [0:1]
|--TEXT ->  Plugin to reduce configuration overhead for publishing to maven repositories. [0:2]
|--NEWLINE -> \n [0:80]
|--LEADING_ASTERISK -> * [1:1]
|--TEXT ->  This plugin primarily configures  [1:2]
|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [1:36]
|   `--LINK_INLINE_TAG -> LINK_INLINE_TAG [1:36]
|       |--JAVADOC_INLINE_TAG_START -> {@ [1:36]
|       |--TAG_NAME -> link [1:38]
|       |--TEXT ->   [1:42]
|       |--REFERENCE -> REFERENCE [1:43]
|       |   `--IDENTIFIER -> org.gradle.api.publish.maven.plugins.MavenPublishPlugin [1:43]
|       `--JAVADOC_INLINE_TAG_END -> } [1:98]
|--TEXT -> . [1:99]
|--NEWLINE -> \n [1:100]
|--LEADING_ASTERISK -> * [2:1]
|--NEWLINE -> \n [2:2]
|--LEADING_ASTERISK -> * [3:1]
|--TEXT ->   [3:2]
|--HTML_ELEMENT -> HTML_ELEMENT [3:3]
|   |--HTML_TAG_START -> HTML_TAG_START [3:3]
|   |   |--TAG_OPEN -> < [3:3]
|   |   |--TAG_NAME -> p [3:4]
|   |   `--TAG_CLOSE -> > [3:5]
|   |--NEWLINE -> \n [3:6]
|   |--LEADING_ASTERISK -> * [4:1]
|   `--HTML_CONTENT -> HTML_CONTENT [4:2]
|       |--TEXT ->  Probably the best feature for other people here is the ability to configure maven's pom with its licenses. [4:2]
|       |--NEWLINE -> \n [4:109]
|       |--LEADING_ASTERISK -> * [5:1]
|       |--TEXT ->  Unfortunately, maven wasn't designed with SPDX in mind and so expressions aren't supported. Instead, you should add [5:2]
|       |--NEWLINE -> \n [5:118]
|       |--LEADING_ASTERISK -> * [6:1]
|       |--TEXT ->  each component of any license expression seperately. For example if you're license is GPL 3.0 with claspath [6:2]
|       |--NEWLINE -> \n [6:110]
|       |--LEADING_ASTERISK -> * [7:1]
|       |--TEXT ->  exception, which in spdx would be written as  [7:2]
|       |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [7:48]
|       |   `--CODE_INLINE_TAG -> CODE_INLINE_TAG [7:48]
|       |       |--JAVADOC_INLINE_TAG_START -> {@ [7:48]
|       |       |--TAG_NAME -> code [7:50]
|       |       |--TEXT ->  GPL-3.0-or-later WITH Classpath-exception-2.0 [7:54]
|       |       `--JAVADOC_INLINE_TAG_END -> } [7:100]
|       |--TEXT -> . You should add [7:101]
|       |--NEWLINE -> \n [7:117]
|       |--LEADING_ASTERISK -> * [8:1]
|       |--TEXT ->  the full expression to your  [8:2]
|       |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [8:31]
|       |   `--CODE_INLINE_TAG -> CODE_INLINE_TAG [8:31]
|       |       |--JAVADOC_INLINE_TAG_START -> {@ [8:31]
|       |       |--TAG_NAME -> code [8:33]
|       |       |--TEXT ->  README.md [8:37]
|       |       `--JAVADOC_INLINE_TAG_END -> } [8:47]
|       |--TEXT ->  and each individual file with this license. [8:48]
|       |--NEWLINE -> \n [8:92]
|       |--LEADING_ASTERISK -> * [9:1]
|       |--TEXT ->   [9:2]
|       `--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [9:3]
|           `--SNIPPET_INLINE_TAG -> SNIPPET_INLINE_TAG [9:3]
|               |--JAVADOC_INLINE_TAG_START -> {@ [9:3]
|               |--SNIPPET_ATTRIBUTES -> SNIPPET_ATTRIBUTES [9:12]
|               |   `--SNIPPET_ATTRIBUTE -> SNIPPET_ATTRIBUTE [9:12]
|               |       |--TEXT ->   [9:12]
|               |       |--SNIPPET_ATTR_NAME -> lang [9:13]
|               |       |--TEXT ->   [9:17]
|               |       |--EQUALS -> = [9:18]
|               |       `--ATTRIBUTE_VALUE ->  "kotlin" [9:19]
|               |--COLON -> : [9:28]
|               |--SNIPPET_BODY -> SNIPPET_BODY [9:29]
|               |   |--NEWLINE -> \n [9:29]
|               |   |--LEADING_ASTERISK -> * [10:1]
|               |   |--TEXT ->  plugins { [10:2]
|               |   |--NEWLINE -> \n [10:12]
|               |   |--LEADING_ASTERISK -> * [11:1]
|               |   |--TEXT ->    id("com.xenoterracide.gradle.convention.publish") [11:2]
|               |   |--NEWLINE -> \n [11:54]
|               |   |--LEADING_ASTERISK -> * [12:1]
|               |   |--TEXT ->  } [12:2]
|               |   |--NEWLINE -> \n [12:4]
|               |   |--LEADING_ASTERISK -> * [13:1]
|               |   |--NEWLINE -> \n [13:2]
|               |   |--LEADING_ASTERISK -> * [14:1]
|               |   |--TEXT ->  repositoryHost(GithubPublicRepositoryHostConfiguration()) [14:2]
|               |   |--NEWLINE -> \n [14:60]
|               |   |--LEADING_ASTERISK -> * [15:1]
|               |   |--TEXT ->  repositoryHost.namespace.set("xenoterracide") [15:2]
|               |   |--NEWLINE -> \n [15:48]
|               |   |--LEADING_ASTERISK -> * [16:1]
|               |   |--NEWLINE -> \n [16:2]
|               |   |--LEADING_ASTERISK -> * [17:1]
|               |   |--TEXT ->  publicationLegal { [17:2]
|               |   |--NEWLINE -> \n [17:21]
|               |   |--LEADING_ASTERISK -> * [18:1]
|               |   |--TEXT ->    // this is the same as `maven-publish` `pom.inceptionYear` [18:2]
|               |   |--NEWLINE -> \n [18:63]
|               |   |--LEADING_ASTERISK -> * [19:1]
|               |   |--TEXT ->    inceptionYear.set(2024) [19:2]
|               |   |--NEWLINE -> \n [19:28]
|               |   |--LEADING_ASTERISK -> * [20:1]
|               |   |--TEXT ->    // this does NOT take spdx expressions [20:2]
|               |   |--NEWLINE -> \n [20:43]
|               |   |--LEADING_ASTERISK -> * [21:1]
|               |   |--TEXT ->    spdxIdentifiers.addAll("GPL-3.0-or-later", "Classpath-exception-2.0") [21:2]
|               |   |--NEWLINE -> \n [21:74]
|               |   |--LEADING_ASTERISK -> * [22:1]
|               |   `--TEXT ->  } [22:2]
|               |--NEWLINE -> \n [22:4]
|               |--LEADING_ASTERISK -> * [23:1]
|               `--JAVADOC_INLINE_TAG_END -> } [23:2]
|--NEWLINE -> \n [23:3]
|--LEADING_ASTERISK -> * [24:1]
|--NEWLINE -> \n [24:2]
|--LEADING_ASTERISK -> * [25:1]
|--TEXT ->   [25:2]
|--HTML_ELEMENT -> HTML_ELEMENT [25:3]
|   |--HTML_TAG_START -> HTML_TAG_START [25:3]
|   |   |--TAG_OPEN -> < [25:3]
|   |   |--TAG_NAME -> p [25:4]
|   |   `--TAG_CLOSE -> > [25:5]
|   |--NEWLINE -> \n [25:6]
|   |--LEADING_ASTERISK -> * [26:1]
|   |--HTML_CONTENT -> HTML_CONTENT [26:2]
|   |   `--TEXT ->  under the hood this will set up the licenses as follows: [26:2]
|   |--NEWLINE -> \n [26:59]
|   |--LEADING_ASTERISK -> * [27:1]
|   |--TEXT ->   [27:2]
|   `--HTML_TAG_END -> HTML_TAG_END [27:3]
|       |--TAG_OPEN -> < [27:3]
|       |--TAG_SLASH -> / [27:4]
|       |--TAG_NAME -> p [27:5]
|       `--TAG_CLOSE -> > [27:6]
|--NEWLINE -> \n [27:7]
|--LEADING_ASTERISK -> * [28:1]
|--TEXT ->   [28:2]
|--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [28:3]
|   `--SNIPPET_INLINE_TAG -> SNIPPET_INLINE_TAG [28:3]
|       |--JAVADOC_INLINE_TAG_START -> {@ [28:3]
|       |--SNIPPET_ATTRIBUTES -> SNIPPET_ATTRIBUTES [28:12]
|       |   `--SNIPPET_ATTRIBUTE -> SNIPPET_ATTRIBUTE [28:12]
|       |       |--TEXT ->   [28:12]
|       |       |--SNIPPET_ATTR_NAME -> lang [28:13]
|       |       |--TEXT ->   [28:17]
|       |       |--EQUALS -> = [28:18]
|       |       `--ATTRIBUTE_VALUE ->  "java" [28:19]
|       |--COLON -> : [28:26]
|       |--SNIPPET_BODY -> SNIPPET_BODY [28:27]
|       |   |--NEWLINE -> \n [28:27]
|       |   |--LEADING_ASTERISK -> * [29:1]
|       |   |--TEXT ->     pl.getName().set(license); [29:2]
|       |   |--NEWLINE -> \n [29:32]
|       |   |--LEADING_ASTERISK -> * [30:1]
|       |   |--TEXT ->     pl.getUrl().set("https://spdx.org/licenses/" + license + ".html"); [30:2]
|       |   |--NEWLINE -> \n [30:72]
|       |   |--LEADING_ASTERISK -> * [31:1]
|       |   |--TEXT ->     pl.getComments().set("See git repo README.md for more information."); [31:2]
|       |   |--NEWLINE -> \n [31:75]
|       |   |--LEADING_ASTERISK -> * [32:1]
|       |   `--TEXT ->     pl.getDistribution().set("repo"); [32:2]
|       |--NEWLINE -> \n [32:39]
|       |--LEADING_ASTERISK -> * [33:1]
|       `--JAVADOC_INLINE_TAG_END -> } [33:2]
|--NEWLINE -> \n [33:3]
|--LEADING_ASTERISK -> * [34:1]
|--NEWLINE -> \n [34:2]
|--LEADING_ASTERISK -> * [35:1]
|--TEXT ->   [35:2]
|--HTML_ELEMENT -> HTML_ELEMENT [35:3]
|   |--HTML_TAG_START -> HTML_TAG_START [35:3]
|   |   |--TAG_OPEN -> < [35:3]
|   |   |--TAG_NAME -> p [35:4]
|   |   `--TAG_CLOSE -> > [35:5]
|   |--NEWLINE -> \n [35:6]
|   |--LEADING_ASTERISK -> * [36:1]
|   `--HTML_CONTENT -> HTML_CONTENT [36:2]
|       |--TEXT ->  This information is constructed to generate urls like [36:2]
|       |--NEWLINE -> \n [36:56]
|       |--LEADING_ASTERISK -> * [37:1]
|       |--TEXT ->   [37:2]
|       |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [37:3]
|       |   `--CODE_INLINE_TAG -> CODE_INLINE_TAG [37:3]
|       |       |--JAVADOC_INLINE_TAG_START -> {@ [37:3]
|       |       |--TAG_NAME -> code [37:5]
|       |       |--TEXT ->  https://github.com/xenoterracide/gradle-convention.git [37:9]
|       |       `--JAVADOC_INLINE_TAG_END -> } [37:64]
|       |--TEXT ->  for pom and setting up the repo for publishing to [37:65]
|       |--NEWLINE -> \n [37:115]
|       |--LEADING_ASTERISK -> * [38:1]
|       |--TEXT ->  the repository. Currently, the maven repository to publish to has it's name set as `gh`and uses [38:2]
|       |--NEWLINE -> \n [38:98]
|       |--LEADING_ASTERISK -> * [39:1]
|       |--TEXT ->   [39:2]
|       |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [39:3]
|       |   `--LINK_INLINE_TAG -> LINK_INLINE_TAG [39:3]
|       |       |--JAVADOC_INLINE_TAG_START -> {@ [39:3]
|       |       |--TAG_NAME -> link [39:5]
|       |       |--TEXT ->   [39:9]
|       |       |--REFERENCE -> REFERENCE [39:10]
|       |       |   `--IDENTIFIER -> org.gradle.api.credentials.PasswordCredentials [39:10]
|       |       `--JAVADOC_INLINE_TAG_END -> } [39:56]
|       `--TEXT ->  so authenticating it is done like this in a GitHub workflow. [39:57]
|--NEWLINE -> \n [39:118]
|--LEADING_ASTERISK -> * [40:1]
|--NEWLINE -> \n [40:2]
|--LEADING_ASTERISK -> * [41:1]
|--TEXT ->   [41:2]
`--HTML_ELEMENT -> HTML_ELEMENT [41:3]
    |--HTML_TAG_START -> HTML_TAG_START [41:3]
    |   |--TAG_OPEN -> < [41:3]
    |   |--TAG_NAME -> p [41:4]
    |   `--TAG_CLOSE -> > [41:5]
    |--NEWLINE -> \n [41:6]
    |--LEADING_ASTERISK -> * [42:1]
    |--TEXT ->   [42:2]
    |--HTML_CONTENT -> HTML_CONTENT [42:3]
    |   `--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [42:3]
    |       `--SNIPPET_INLINE_TAG -> SNIPPET_INLINE_TAG [42:3]
    |           |--JAVADOC_INLINE_TAG_START -> {@ [42:3]
    |           |--SNIPPET_ATTRIBUTES -> SNIPPET_ATTRIBUTES [42:12]
    |           |   `--SNIPPET_ATTRIBUTE -> SNIPPET_ATTRIBUTE [42:12]
    |           |       |--TEXT ->   [42:12]
    |           |       |--SNIPPET_ATTR_NAME -> lang [42:13]
    |           |       |--TEXT ->   [42:17]
    |           |       |--EQUALS -> = [42:18]
    |           |       `--ATTRIBUTE_VALUE ->  "yml" [42:19]
    |           |--COLON -> : [42:25]
    |           |--SNIPPET_BODY -> SNIPPET_BODY [42:26]
    |           |   |--NEWLINE -> \n [42:26]
    |           |   |--LEADING_ASTERISK -> * [43:1]
    |           |   |--TEXT ->  - run: ./gradlew publishAllPublicationsToGhRepository --build-cache --scan [43:2]
    |           |   |--NEWLINE -> \n [43:77]
    |           |   |--LEADING_ASTERISK -> * [44:1]
    |           |   |--TEXT ->    env: [44:2]
    |           |   |--NEWLINE -> \n [44:9]
    |           |   |--LEADING_ASTERISK -> * [45:1]
    |           |   |--TEXT ->      ORG_GRADLE_PROJECT_ghUsername: ${{ secrets.GITHUB_ACTOR }} [45:2]
    |           |   |--NEWLINE -> \n [45:65]
    |           |   |--LEADING_ASTERISK -> * [46:1]
    |           |   `--TEXT ->      ORG_GRADLE_PROJECT_ghPassword: ${{ secrets.GITHUB_TOKEN }} [46:2]
    |           |--NEWLINE -> \n [46:65]
    |           |--LEADING_ASTERISK -> * [47:1]
    |           `--JAVADOC_INLINE_TAG_END -> } [47:2]
    |--NEWLINE -> \n [47:3]
    |--LEADING_ASTERISK -> * [48:1]
    |--TEXT ->   [48:2]
    `--HTML_TAG_END -> HTML_TAG_END [48:3]
        |--TAG_OPEN -> < [48:3]
        |--TAG_SLASH -> / [48:4]
        |--TAG_NAME -> p [48:5]
        `--TAG_CLOSE -> > [48:6]
