You could use extra properties and only need to be a bit careful when to access them. Besides that, you could entirely move the configuration of the publication into your plugin and only need to manage the version within your plugin then. The following is one example I did for Ivy a few days ago:
/**
* Add a publication for our artifacts.
*/
private void configPub()
{
Project project = this.project;
PublishingExtension publishing = this.getPublishing();
PublicationContainer pubCont = publishing.getPublications();
pubCont.create( "coreWithJavadocAndDeps",
IvyPublication.class,
new Action<IvyPublication>()
{
@Override
public void execute(IvyPublication pub)
{
JavadocToJar task = JavadocToJar.findSelf(project);
Map<String, Object> artifact = ImmutableMap.of( "source", task,
"type", "javadoc");
pub.from(project.getComponents().findByName("java"));
pub.artifact(artifact);
CustomIvyPublish.this.configPubArtifacts(pub);
}
});
}