@@ -88,12 +88,13 @@ public ScriptVersionStrategy(VersionNamingConfiguration vnc,
8888 @ Override
8989 public Version build (Commit head , List <Commit > parents ) throws VersionCalculationException {
9090 try {
91- final Commit base = findVersionCommit (head , parents );
91+ Commit base = findVersionCommit (head , parents );
92+ Ref tagToUse = findTagToUse (head , base );
93+ final Version baseVersion = getBaseVersionAndRegisterMetadata (base ,tagToUse );
9294 final MetadataRegistrar registrar = getRegistrar ();
9395 final MetadataProvider metaProvider = MetadataProvider .class .cast (registrar );
9496
95- final HashMap <String , Object > metaProps =
96- new HashMap <String , Object >();
97+ final HashMap <String , Object > metaProps = new HashMap <String , Object >();
9798
9899 registrar .registerMetadata (Metadatas .COMMIT_DISTANCE ,
99100 "" + base .getHeadDistance ());
@@ -132,41 +133,14 @@ public Version build(Commit head, List<Commit> parents) throws VersionCalculatio
132133
133134 // Extra convenient metadata
134135 metaProps .put ("DETACHED_HEAD" ,
135- "" + GitUtils .isDetachedHead (getRepository ()));
136+ GitUtils .isDetachedHead (getRepository ()));
136137
137138 metaProps .put ("BASE_COMMIT_ON_HEAD" ,
138- "" + isBaseCommitOnHead (head , base ));
139-
140- // Tag related metadata
141- final Ref tagToUse = findTagToUse (head , base );
142-
143- final Version baseVersion ;
144-
145- if (tagToUse != null ) {
146- final String tagName = GitUtils .tagNameFromRef (tagToUse );
147- final TagType tagType = computeTagType (tagToUse , maxVersionTag (base .getAnnotatedTags ()).orElse (null ));
148-
149- baseVersion = versionFromTag (tagToUse );
150-
151- registrar .registerMetadata (Metadatas .BASE_TAG_TYPE ,
152- tagType .name ());
153- registrar .registerMetadata (Metadatas .BASE_TAG , tagName );
154- } else {
155- baseVersion = Version .DEFAULT_VERSION ;
156- }
157-
158-
159- registrar .registerMetadata (Metadatas .BASE_VERSION ,
160- baseVersion .toString ());
161- registrar .registerMetadata (Metadatas .CURRENT_VERSION_MAJOR ,
162- "" + baseVersion .getMajor ());
163- registrar .registerMetadata (Metadatas .CURRENT_VERSION_MINOR ,
164- "" + baseVersion .getMinor ());
165- registrar .registerMetadata (Metadatas .CURRENT_VERSION_PATCH ,
166- "" + baseVersion .getPatch ());
167-
168- metaProps .put ("ANNOTATED" , GitUtils .isAnnotated (tagToUse ));
169-
139+ isBaseCommitOnHead (head , base ));
140+
141+ metaProps .put ("ANNOTATED" ,
142+ GitUtils .isAnnotated (tagToUse ));
143+
170144 EnumSet .allOf (Metadatas .class ).
171145 forEach (key -> metaProvider .meta (key ).
172146 ifPresent (value -> metaProps .put (key .name (), metaFunctor (key ).apply (value ))));
0 commit comments