framework providing functionality for building a lunar calendar
This library was created while working on Mondtag, a lunar calendar for Android.
This is the android fork - for plain java, see the original repository libZodiac.
repositories {
mavenCentral()
}
dependencies {
implementation 'de.kah2.zodiac:libZodiac4A:1.0-android'
}
<dependency>
<groupId>de.kah2.zodiac</groupId>
<artifactId>libZodiac4A</artifactId>
<version>1.0-android</version>
</dependency>
CalendarExampleSimple.java
shows basic usage of this framework.CalendarDataStringBuilder.java
shows how to access data.CalendarExampleStorage.java
shows how to create, store , load and extend a calendar.ProgressListenerExample.java
shows 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 - the suffix is used to be able to separate libZodiac-tags from libZodiac4A-tags when merging
0.9.1-android
0.9.1-android-3-d3d1f17-feature-dirty
0.9.1-android
is the last version tag4
number of commits since last tag48a2119
is the last git commit revisionfeature
is the branch this version was built of and only appears if it was a feature-branch, and notmaster
ordevel
-dirty
appears 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.