Skip to content

Commit

Permalink
Evaluate project fields as strings to avoid serializing Object instances
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielThomas committed Feb 24, 2022
1 parent 7bab6bf commit df9935d
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions src/main/groovy/nebula/plugin/info/basic/BasicInfoPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -82,24 +82,18 @@ class BasicInfoPlugin implements Plugin<Project>, InfoCollectorPlugin {
manifestPlugin.add(MANIFEST_VERSION.toString(), '1.0') // Java Standard

def projectName = project.name
AtomicReference<Object> projectGroup = new AtomicReference<>()
AtomicReference<Object> projectVersion = new AtomicReference<>()
AtomicReference<Object> projectStatus = new AtomicReference<>()
AtomicReference<String> projectGroup = new AtomicReference<>()
AtomicReference<String> projectVersion = new AtomicReference<>()
AtomicReference<String> projectStatus = new AtomicReference<>()

projectGroup.set(project.group)
projectVersion.set(project.version)
projectStatus.set(project.status)
setProjectFields(project, projectGroup, projectVersion, projectStatus)

project.afterEvaluate {
projectGroup.set(project.group)
projectVersion.set(project.version)
projectStatus.set(project.status)
setProjectFields(project, projectGroup, projectVersion, projectStatus)
}

project.gradle.taskGraph.whenReady {
projectGroup.set(project.group)
projectVersion.set(project.version)
projectStatus.set(project.status)
setProjectFields(project, projectGroup, projectVersion, projectStatus)
}

manifestPlugin.add(IMPLEMENTATION_TITLE.toString(), { "${projectGroup.get()}#${projectName};${projectVersion.get()}" })
Expand All @@ -124,4 +118,10 @@ class BasicInfoPlugin implements Plugin<Project>, InfoCollectorPlugin {
// TODO Include hostname
}
}

private static void setProjectFields(Project project, AtomicReference<String> projectGroup, AtomicReference<String> projectVersion, AtomicReference<String> projectStatus) {
projectGroup.set(project.group.toString())
projectVersion.set(project.version.toString())
projectStatus.set(project.status.toString())
}
}

0 comments on commit df9935d

Please sign in to comment.