Idiomatic Cron expression parsing in Scala and ScalaJS.
To start using cron4s in your project just include the library as part of your dependencies:
libraryDependencies += "com.github.alonsodomin.cron4s" %% "cron4s-core" % "0.6.1"
Or in ScalaJS:
libraryDependencies += "com.github.alonsodomin.cron4s" %%% "cron4s-core" % "0.6.1"
cron4s is cross compiled for Scala 2.12 and Scala 2.13. Java 8 or later is required when using it in the JVM.
Before delving into the user guide, is preferred to understand that the library at this given moment has some limitations in the expressions that is able to parse. These are the type of expressions that are not supported at the moment:
Lalone in day of month meaning the last day of the month
nLin day of week, being
na number between 0 and 6 meaning the last day of week of a month
nWin day of month, being
na number between 0 and 31 meaning the nearest weekday (Monday-Friday) to the given month day.
n#min day of week, being
na number between 0 and 6 and
ma number between 0 and 5 meaning the mth day of the month.
Current cron4s is library that is evolving towards stability and does not follow semantic versioning yet. Version
numbers are compound of three numbers as
0.major.minor. A change in the
minor part means that the new version is
source compatible (in its public API) with the previous version. A change in the
major part means that source
compatibility with previous version is not guaranteed. Binary compatibility is not guaranteed either in between any
version number change.
Once the library reaches version
1.0.0, semantic versioning will be adopted as follows
major part won’t be binary or source compatible with previous version. Changes in the
minor part will be
source and binary compatible with previous version (with the exception of deprecated API). And changes in the
part will mean that the library is fully source and binary compatible with previous version.
Copyright 2016-2017 Antonio Alonso Dominguez
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.