@Documented @Retention(value=RUNTIME) @Target(value={TYPE,PACKAGE}) public @interface Versioned
Mark a class of a library or app which has .version file presented.
Usually this annotation should be used to annotate on a typical class that could be used to represent a library or application, e.g. the main entry class of an app, or a facade class of a library.
It is generally but not required that the class underline has a public static final field of type osgl.version.Version and name VERSION, for example:
package org.mrcool.swissknife;
@Versioned
public class SwissKnife {
// keep track the version of swissknife library
public static final Version VERSION = Version.of(SwissKnife.class);
}
Copyright © 2017–2018 OSGL (Open Source General Library). All rights reserved.