Skip to content

Commit

Permalink
Add BCV to check APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
Goooler committed Jul 17, 2024
1 parent 3dcb5c7 commit 6d3a723
Show file tree
Hide file tree
Showing 10 changed files with 1,633 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,20 @@ jobs:
- name: Run Ktlint
run: ./gradlew lintKotlin

api-check:
name: API Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- uses: gradle/actions/setup-gradle@v3
with:
gradle-home-cache-cleanup: true
- run: ./gradlew apiCheck

unit-tests:
name: Unit tests
runs-on: ubuntu-latest
Expand Down
12 changes: 12 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,24 @@ plugins {
alias(libs.plugins.kotlinMultiplatform) apply false
alias(libs.plugins.jetbrainsCompose) apply false
alias(libs.plugins.versionCheck)
alias(libs.plugins.bcv)
}

allprojects {
apply(plugin = rootProject.libs.plugins.kotlinter.get().pluginId)
}

apiValidation {
ignoredProjects += listOf(
"sample"
)

@OptIn(kotlinx.validation.ExperimentalBCVApi::class)
klib {
enabled = true
}
}

// tasks.register<Delete>("clean").configure {
// delete(rootProject.layout.buildDirectory)
// }
337 changes: 337 additions & 0 deletions compose-multiplatform/library/api/android/library.api

Large diffs are not rendered by default.

337 changes: 337 additions & 0 deletions compose-multiplatform/library/api/desktop/library.api

Large diffs are not rendered by default.

421 changes: 421 additions & 0 deletions compose-multiplatform/library/api/library.klib.api

Large diffs are not rendered by default.

182 changes: 182 additions & 0 deletions compose/api/compose.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
public final class com/kizitonwose/calendar/compose/CalendarItemInfo : androidx/compose/foundation/lazy/LazyListItemInfo {
public static final field $stable I
public fun <init> (Landroidx/compose/foundation/lazy/LazyListItemInfo;Lcom/kizitonwose/calendar/core/CalendarMonth;)V
public fun getContentType ()Ljava/lang/Object;
public fun getIndex ()I
public fun getKey ()Ljava/lang/Object;
public final fun getMonth ()Lcom/kizitonwose/calendar/core/CalendarMonth;
public fun getOffset ()I
public fun getSize ()I
}

public final class com/kizitonwose/calendar/compose/CalendarKt {
public static final fun HeatMapCalendar (Landroidx/compose/ui/Modifier;Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState;Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition;ZLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function4;Landroidx/compose/runtime/Composer;II)V
public static final fun HorizontalCalendar (Landroidx/compose/ui/Modifier;Lcom/kizitonwose/calendar/compose/CalendarState;ZZZLandroidx/compose/foundation/layout/PaddingValues;Lcom/kizitonwose/calendar/compose/ContentHeightMode;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V
public static final fun VerticalCalendar (Landroidx/compose/ui/Modifier;Lcom/kizitonwose/calendar/compose/CalendarState;ZZZLandroidx/compose/foundation/layout/PaddingValues;Lcom/kizitonwose/calendar/compose/ContentHeightMode;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function5;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V
public static final fun WeekCalendar (Landroidx/compose/ui/Modifier;Lcom/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState;ZZZLandroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function4;Landroidx/compose/runtime/Composer;II)V
}

public final class com/kizitonwose/calendar/compose/CalendarLayoutInfo : androidx/compose/foundation/lazy/LazyListLayoutInfo {
public static final field $stable I
public fun <init> (Landroidx/compose/foundation/lazy/LazyListLayoutInfo;Lkotlin/jvm/functions/Function1;)V
public fun getAfterContentPadding ()I
public fun getBeforeContentPadding ()I
public fun getMainAxisItemSpacing ()I
public fun getOrientation ()Landroidx/compose/foundation/gestures/Orientation;
public fun getReverseLayout ()Z
public fun getTotalItemsCount ()I
public fun getViewportEndOffset ()I
public fun getViewportSize-YbymL2g ()J
public fun getViewportStartOffset ()I
public fun getVisibleItemsInfo ()Ljava/util/List;
public final fun getVisibleMonthsInfo ()Ljava/util/List;
}

public final class com/kizitonwose/calendar/compose/CalendarState : androidx/compose/foundation/gestures/ScrollableState {
public static final field $stable I
public static final field Companion Lcom/kizitonwose/calendar/compose/CalendarState$Companion;
public final fun animateScrollToMonth (Ljava/time/YearMonth;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun dispatchRawDelta (F)F
public final fun getEndMonth ()Ljava/time/YearMonth;
public final fun getFirstDayOfWeek ()Ljava/time/DayOfWeek;
public final fun getFirstVisibleMonth ()Lcom/kizitonwose/calendar/core/CalendarMonth;
public final fun getInteractionSource ()Landroidx/compose/foundation/interaction/InteractionSource;
public final fun getLastVisibleMonth ()Lcom/kizitonwose/calendar/core/CalendarMonth;
public final fun getLayoutInfo ()Lcom/kizitonwose/calendar/compose/CalendarLayoutInfo;
public final fun getOutDateStyle ()Lcom/kizitonwose/calendar/core/OutDateStyle;
public final fun getStartMonth ()Ljava/time/YearMonth;
public fun isScrollInProgress ()Z
public fun scroll (Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun scrollToMonth (Ljava/time/YearMonth;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun setEndMonth (Ljava/time/YearMonth;)V
public final fun setFirstDayOfWeek (Ljava/time/DayOfWeek;)V
public final fun setOutDateStyle (Lcom/kizitonwose/calendar/core/OutDateStyle;)V
public final fun setStartMonth (Ljava/time/YearMonth;)V
}

public final class com/kizitonwose/calendar/compose/CalendarState$Companion {
}

public final class com/kizitonwose/calendar/compose/CalendarStateKt {
public static final fun rememberCalendarState (Ljava/time/YearMonth;Ljava/time/YearMonth;Ljava/time/YearMonth;Ljava/time/DayOfWeek;Lcom/kizitonwose/calendar/core/OutDateStyle;Landroidx/compose/runtime/Composer;II)Lcom/kizitonwose/calendar/compose/CalendarState;
}

public final class com/kizitonwose/calendar/compose/ComposableSingletons$CalendarMonthsKt {
public static final field INSTANCE Lcom/kizitonwose/calendar/compose/ComposableSingletons$CalendarMonthsKt;
public static field lambda-1 Lkotlin/jvm/functions/Function5;
public static field lambda-2 Lkotlin/jvm/functions/Function5;
public fun <init> ()V
public final fun getLambda-1$compose_release ()Lkotlin/jvm/functions/Function5;
public final fun getLambda-2$compose_release ()Lkotlin/jvm/functions/Function5;
}

public final class com/kizitonwose/calendar/compose/ContentHeightMode : java/lang/Enum {
public static final field Fill Lcom/kizitonwose/calendar/compose/ContentHeightMode;
public static final field Wrap Lcom/kizitonwose/calendar/compose/ContentHeightMode;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lcom/kizitonwose/calendar/compose/ContentHeightMode;
public static fun values ()[Lcom/kizitonwose/calendar/compose/ContentHeightMode;
}

public final class com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState : androidx/compose/foundation/gestures/ScrollableState {
public static final field $stable I
public static final field Companion Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState$Companion;
public final fun animateScrollToMonth (Ljava/time/YearMonth;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun dispatchRawDelta (F)F
public final fun getEndMonth ()Ljava/time/YearMonth;
public final fun getFirstDayOfWeek ()Ljava/time/DayOfWeek;
public final fun getFirstVisibleMonth ()Lcom/kizitonwose/calendar/core/CalendarMonth;
public final fun getInteractionSource ()Landroidx/compose/foundation/interaction/InteractionSource;
public final fun getLastVisibleMonth ()Lcom/kizitonwose/calendar/core/CalendarMonth;
public final fun getLayoutInfo ()Lcom/kizitonwose/calendar/compose/CalendarLayoutInfo;
public final fun getStartMonth ()Ljava/time/YearMonth;
public fun isScrollInProgress ()Z
public fun scroll (Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun scrollToMonth (Ljava/time/YearMonth;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun setEndMonth (Ljava/time/YearMonth;)V
public final fun setFirstDayOfWeek (Ljava/time/DayOfWeek;)V
public final fun setStartMonth (Ljava/time/YearMonth;)V
}

public final class com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState$Companion {
}

public final class com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarStateKt {
public static final fun rememberHeatMapCalendarState (Ljava/time/YearMonth;Ljava/time/YearMonth;Ljava/time/YearMonth;Ljava/time/DayOfWeek;Landroidx/compose/runtime/Composer;II)Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState;
}

public final class com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeek : java/io/Serializable {
public static final field $stable I
public fun <init> (Ljava/util/List;)V
public final fun component1 ()Ljava/util/List;
public final fun copy (Ljava/util/List;)Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeek;
public static synthetic fun copy$default (Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeek;Ljava/util/List;ILjava/lang/Object;)Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeek;
public fun equals (Ljava/lang/Object;)Z
public final fun getDays ()Ljava/util/List;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition : java/lang/Enum {
public static final field End Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition;
public static final field Start Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition;
public static fun values ()[Lcom/kizitonwose/calendar/compose/heatmapcalendar/HeatMapWeekHeaderPosition;
}

public final class com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarItemInfo : androidx/compose/foundation/lazy/LazyListItemInfo {
public static final field $stable I
public fun <init> (Landroidx/compose/foundation/lazy/LazyListItemInfo;Lcom/kizitonwose/calendar/core/Week;)V
public fun getContentType ()Ljava/lang/Object;
public fun getIndex ()I
public fun getKey ()Ljava/lang/Object;
public fun getOffset ()I
public fun getSize ()I
public final fun getWeek ()Lcom/kizitonwose/calendar/core/Week;
}

public final class com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarLayoutInfo : androidx/compose/foundation/lazy/LazyListLayoutInfo {
public static final field $stable I
public fun <init> (Landroidx/compose/foundation/lazy/LazyListLayoutInfo;Lkotlin/jvm/functions/Function1;)V
public fun getAfterContentPadding ()I
public fun getBeforeContentPadding ()I
public fun getMainAxisItemSpacing ()I
public fun getOrientation ()Landroidx/compose/foundation/gestures/Orientation;
public fun getReverseLayout ()Z
public fun getTotalItemsCount ()I
public fun getViewportEndOffset ()I
public fun getViewportSize-YbymL2g ()J
public fun getViewportStartOffset ()I
public fun getVisibleItemsInfo ()Ljava/util/List;
public final fun getVisibleWeeksInfo ()Ljava/util/List;
}

public final class com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState : androidx/compose/foundation/gestures/ScrollableState {
public static final field $stable I
public static final field Companion Lcom/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState$Companion;
public final fun animateScrollToWeek (Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun dispatchRawDelta (F)F
public final fun getEndDate ()Ljava/time/LocalDate;
public final fun getFirstDayOfWeek ()Ljava/time/DayOfWeek;
public final fun getFirstVisibleWeek ()Lcom/kizitonwose/calendar/core/Week;
public final fun getInteractionSource ()Landroidx/compose/foundation/interaction/InteractionSource;
public final fun getLastVisibleWeek ()Lcom/kizitonwose/calendar/core/Week;
public final fun getLayoutInfo ()Lcom/kizitonwose/calendar/compose/weekcalendar/WeekCalendarLayoutInfo;
public final fun getStartDate ()Ljava/time/LocalDate;
public fun isScrollInProgress ()Z
public fun scroll (Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun scrollToWeek (Ljava/time/LocalDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun setEndDate (Ljava/time/LocalDate;)V
public final fun setFirstDayOfWeek (Ljava/time/DayOfWeek;)V
public final fun setStartDate (Ljava/time/LocalDate;)V
}

public final class com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState$Companion {
public final fun getSaver ()Landroidx/compose/runtime/saveable/Saver;
}

public final class com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarStateKt {
public static final fun rememberWeekCalendarState (Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/LocalDate;Ljava/time/DayOfWeek;Landroidx/compose/runtime/Composer;II)Lcom/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState;
}

89 changes: 89 additions & 0 deletions core/api/core.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
public final class com/kizitonwose/calendar/core/CalendarDay : java/io/Serializable {
public fun <init> (Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/DayPosition;)V
public final fun component1 ()Ljava/time/LocalDate;
public final fun component2 ()Lcom/kizitonwose/calendar/core/DayPosition;
public final fun copy (Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/DayPosition;)Lcom/kizitonwose/calendar/core/CalendarDay;
public static synthetic fun copy$default (Lcom/kizitonwose/calendar/core/CalendarDay;Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/DayPosition;ILjava/lang/Object;)Lcom/kizitonwose/calendar/core/CalendarDay;
public fun equals (Ljava/lang/Object;)Z
public final fun getDate ()Ljava/time/LocalDate;
public final fun getPosition ()Lcom/kizitonwose/calendar/core/DayPosition;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/kizitonwose/calendar/core/CalendarMonth : java/io/Serializable {
public fun <init> (Ljava/time/YearMonth;Ljava/util/List;)V
public final fun component1 ()Ljava/time/YearMonth;
public final fun component2 ()Ljava/util/List;
public final fun copy (Ljava/time/YearMonth;Ljava/util/List;)Lcom/kizitonwose/calendar/core/CalendarMonth;
public static synthetic fun copy$default (Lcom/kizitonwose/calendar/core/CalendarMonth;Ljava/time/YearMonth;Ljava/util/List;ILjava/lang/Object;)Lcom/kizitonwose/calendar/core/CalendarMonth;
public fun equals (Ljava/lang/Object;)Z
public final fun getWeekDays ()Ljava/util/List;
public final fun getYearMonth ()Ljava/time/YearMonth;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/kizitonwose/calendar/core/DayPosition : java/lang/Enum {
public static final field InDate Lcom/kizitonwose/calendar/core/DayPosition;
public static final field MonthDate Lcom/kizitonwose/calendar/core/DayPosition;
public static final field OutDate Lcom/kizitonwose/calendar/core/DayPosition;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lcom/kizitonwose/calendar/core/DayPosition;
public static fun values ()[Lcom/kizitonwose/calendar/core/DayPosition;
}

public final class com/kizitonwose/calendar/core/ExtensionsKt {
public static final fun atStartOfMonth (Ljava/time/YearMonth;)Ljava/time/LocalDate;
public static final fun daysOfWeek ()Ljava/util/List;
public static final fun daysOfWeek (Ljava/time/DayOfWeek;)Ljava/util/List;
public static synthetic fun daysOfWeek$default (Ljava/time/DayOfWeek;ILjava/lang/Object;)Ljava/util/List;
public static final fun firstDayOfWeekFromLocale ()Ljava/time/DayOfWeek;
public static final fun firstDayOfWeekFromLocale (Ljava/util/Locale;)Ljava/time/DayOfWeek;
public static synthetic fun firstDayOfWeekFromLocale$default (Ljava/util/Locale;ILjava/lang/Object;)Ljava/time/DayOfWeek;
public static final fun getNextMonth (Ljava/time/YearMonth;)Ljava/time/YearMonth;
public static final fun getPreviousMonth (Ljava/time/YearMonth;)Ljava/time/YearMonth;
public static final fun getYearMonth (Ljava/time/LocalDate;)Ljava/time/YearMonth;
}

public final class com/kizitonwose/calendar/core/OutDateStyle : java/lang/Enum {
public static final field EndOfGrid Lcom/kizitonwose/calendar/core/OutDateStyle;
public static final field EndOfRow Lcom/kizitonwose/calendar/core/OutDateStyle;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lcom/kizitonwose/calendar/core/OutDateStyle;
public static fun values ()[Lcom/kizitonwose/calendar/core/OutDateStyle;
}

public final class com/kizitonwose/calendar/core/Week : java/io/Serializable {
public fun <init> (Ljava/util/List;)V
public final fun component1 ()Ljava/util/List;
public final fun copy (Ljava/util/List;)Lcom/kizitonwose/calendar/core/Week;
public static synthetic fun copy$default (Lcom/kizitonwose/calendar/core/Week;Ljava/util/List;ILjava/lang/Object;)Lcom/kizitonwose/calendar/core/Week;
public fun equals (Ljava/lang/Object;)Z
public final fun getDays ()Ljava/util/List;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/kizitonwose/calendar/core/WeekDay : java/io/Serializable {
public fun <init> (Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/WeekDayPosition;)V
public final fun component1 ()Ljava/time/LocalDate;
public final fun component2 ()Lcom/kizitonwose/calendar/core/WeekDayPosition;
public final fun copy (Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/WeekDayPosition;)Lcom/kizitonwose/calendar/core/WeekDay;
public static synthetic fun copy$default (Lcom/kizitonwose/calendar/core/WeekDay;Ljava/time/LocalDate;Lcom/kizitonwose/calendar/core/WeekDayPosition;ILjava/lang/Object;)Lcom/kizitonwose/calendar/core/WeekDay;
public fun equals (Ljava/lang/Object;)Z
public final fun getDate ()Ljava/time/LocalDate;
public final fun getPosition ()Lcom/kizitonwose/calendar/core/WeekDayPosition;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/kizitonwose/calendar/core/WeekDayPosition : java/lang/Enum {
public static final field InDate Lcom/kizitonwose/calendar/core/WeekDayPosition;
public static final field OutDate Lcom/kizitonwose/calendar/core/WeekDayPosition;
public static final field RangeDate Lcom/kizitonwose/calendar/core/WeekDayPosition;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public static fun valueOf (Ljava/lang/String;)Lcom/kizitonwose/calendar/core/WeekDayPosition;
public static fun values ()[Lcom/kizitonwose/calendar/core/WeekDayPosition;
}

Loading

0 comments on commit 6d3a723

Please sign in to comment.