framework providing functionality for building a lunar calendar
This library was created while working on Mondtag, a lunar calendar for Android.
This is the plain java version - for android develpment, see the android fork libZodiac4A.
repositories {
mavenCentral()
}
dependencies {
implementation 'de.kah2.zodiac:libZodiac:1.3'
}<dependency>
<groupId>de.kah2.zodiac</groupId>
<artifactId>libZodiac</artifactId>
<version>1.3</version>
</dependency>CalendarExampleSimple.javashows basic usage of this framework.CalendarDataStringBuilder.javashows how to access data.CalendarExampleStorage.javashows how to create, store , load and extend a calendar.ProgressListenerExample.javashows how to enable progress listening.
A gradle build script is included to manage dependencies and automate testing and building.
Astronomical calculations are done with the help of libnova by Liam Girdwood. There is a "1:1" java port novaforjava by Richard van Nieuwenhoven, but this can't be used for multi-threaded calculations. So I made a fork containing a fix for this: nova4jmt.
I'm trying to provide a reasonable test coverage using JUnit.
For logging slf4j is in use.
The plugin gradle-android-git-version is used to automate versioning based on git and also works well in a non-Android java project.
The resulting versions may look like:
Here it's only the release-tag:
0.9.1
0.9.1-3-d3d1f17-feature-dirty
0.9.1is the last version tag4number of commits since last tag48a2119is the last git commit revisionfeatureis the branch this version was built of and only appears if it was a feature-branch, and notmasterordevel-dirtyappears if this build contains uncommitted changes- maven versions end with
-SNAPSHOT
- Book: Vom richtigen Zeitpunkt This book also is available in other languages, the English version is called "The Power of Timing".
This project is licensed under the GNU General Public License v3. See LICENSE for details.
Although I implemented this software to the best of my knowledge, I am not able to guarantee the completion, correctness and accuracy of the algorithms.
Feel free to contact me if you have wishes, proposals, bug reports or if you want to contribute.