Giter Site home page Giter Site logo

kubwa's People

Contributors

wesleyelliott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kubwa's Issues

AndroidX Jetifier sync/build issue

I am attempting to use this library in a Kotlin project with Gradle version 3.2.1 on Android Studio 3.2.1 Stable. Upon Gradle sync or project build the sync/build fails with the following message: Invalid byte 2 of 4-byte UTF-8 sequence. Removing implementation 'com.wesleyelliott:kubwa-annotations:1.2.0' from my build.gradle resolves the issue and allows the sync/build to succeed.
This issue appears to have been resolved by a different library; see https://github.com/evernote/android-state/issues/56

Corresponding stack trace
	at org.gradle.api.internal.artifacts.transform.UserCodeBackedTransformer.transform(UserCodeBackedTransformer.java:89)
	at org.gradle.api.internal.artifacts.transform.ChainedTransformer.transform(ChainedTransformer.java:36)
	at org.gradle.api.internal.artifacts.transform.TransformArtifactOperation.run(TransformArtifactOperation.java:41)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.access$900(DefaultBuildOperationExecutor.java:63)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$ParentPreservingQueueWorker.execute(DefaultBuildOperationExecutor.java:378)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:230)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.access$600(DefaultBuildOperationQueue.java:172)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:209)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:203)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:202)
	at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:177)
	... 6 more
Caused by: java.lang.RuntimeException: Failed to transform 'C:\Users\Mitch\.gradle\caches\modules-2\files-2.1\com.google.android\android\4.1.1.4\3fb039385e71e9aa2ba547ea9ea8caa34a4ffac7\android-4.1.1.4.jar' using Jetifier. Reason: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 4-byte UTF-8 sequence.. (Run with --stacktrace for more details.) To disable Jetifier, set android.enableJetifier=false in your gradle.properties file.
	at com.android.build.gradle.internal.dependency.JetifyTransform.transform(JetifyTransform.kt:204)
	at org.gradle.api.internal.artifacts.transform.TransformArtifactsAction.apply(TransformArtifactsAction.java:44)
	at org.gradle.api.internal.artifacts.transform.TransformArtifactsAction.apply(TransformArtifactsAction.java:29)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$TransformAction.execute(DefaultTransformedFileCache.java:224)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$TransformAction.execute(DefaultTransformedFileCache.java:211)
	at org.gradle.internal.resource.local.DefaultPathKeyFileStore$1.execute(DefaultPathKeyFileStore.java:111)
	at org.gradle.internal.resource.local.DefaultPathKeyFileStore$1.execute(DefaultPathKeyFileStore.java:107)
	at org.gradle.internal.resource.local.DefaultPathKeyFileStore.doAdd(DefaultPathKeyFileStore.java:160)
	at org.gradle.internal.resource.local.DefaultPathKeyFileStore.add(DefaultPathKeyFileStore.java:107)
	at org.gradle.internal.resource.local.DefaultPathKeyFileStore.add(DefaultPathKeyFileStore.java:50)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$1$1.create(DefaultTransformedFileCache.java:143)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$1$1.create(DefaultTransformedFileCache.java:122)
	at org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess.withFileLock(LockOnDemandCrossProcessCacheAccess.java:89)
	at org.gradle.cache.internal.DefaultCacheAccess.withFileLock(DefaultCacheAccess.java:193)
	at org.gradle.cache.internal.DefaultPersistentDirectoryStore.withFileLock(DefaultPersistentDirectoryStore.java:158)
	at org.gradle.cache.internal.DefaultCacheFactory$ReferenceTrackingCache.withFileLock(DefaultCacheFactory.java:187)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$1.create(DefaultTransformedFileCache.java:122)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache$1.create(DefaultTransformedFileCache.java:115)
	at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey(ProducerGuard.java:97)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache.loadIntoCache(DefaultTransformedFileCache.java:115)
	at org.gradle.api.internal.artifacts.transform.DefaultTransformedFileCache.getResult(DefaultTransformedFileCache.java:107)
	at org.gradle.api.internal.artifacts.transform.UserCodeBackedTransformer.transform(UserCodeBackedTransformer.java:87)
	... 20 more
Caused by: javax.xml.stream.XMLStreamException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 4-byte UTF-8 sequence.
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.setInputSource(XMLStreamReaderImpl.java:212)
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.<init>(XMLStreamReaderImpl.java:184)
	at com.sun.xml.internal.stream.XMLInputFactoryImpl.getXMLStreamReaderImpl(XMLInputFactoryImpl.java:262)
	at com.sun.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:129)
	at com.android.tools.build.jetifier.processor.transform.resource.XmlResourcesTransformer.getCharset(XmlResourcesTransformer.kt:82)
	at com.android.tools.build.jetifier.processor.transform.resource.XmlResourcesTransformer.runTransform(XmlResourcesTransformer.kt:71)
	at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:328)
	at com.android.tools.build.jetifier.processor.archive.ArchiveFile.accept(ArchiveFile.kt:41)
	at com.android.tools.build.jetifier.processor.Processor.visit(Processor.kt:316)
	at com.android.tools.build.jetifier.processor.archive.Archive.accept(Archive.kt:66)
	at com.android.tools.build.jetifier.processor.Processor.transformLibrary(Processor.kt:312)
	at com.android.tools.build.jetifier.processor.Processor.transform(Processor.kt:175)
	at com.android.build.gradle.internal.dependency.JetifyTransform.transform(JetifyTransform.kt:199)
	... 41 more
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 4-byte UTF-8 sequence.
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:701)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:473)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1895)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(XMLEntityScanner.java:1761)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(XMLEntityScanner.java:1829)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$XMLDeclDriver.next(XMLDocumentScannerImpl.java:749)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.setInputSource(XMLStreamReaderImpl.java:202)
	... 53 more
My top-level build.gradle file

buildscript {
    ext.kotlin_version = '1.3.10'
    ext.dagger_version = '2.16'
    ext.peko_version = '0.32'
    ext.rx_java_version = '2.2.2'
    ext.rx_kotlin_version = '2.2.0'
    ext.rx_android_version = '2.1.0'
    ext.retrofit_version = '2.4.0'
    ext.lifecycle_version = '2.0.0'
    ext.anko_version = '0.10.7'
    ext.psv_version = '1.0.0'
    ext.nav_version = '1.0.0-alpha07'
    ext.date_time_picker_version = '2.0'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
My application build.gradle

apply plugin: "kotlin-android"

apply plugin: "kotlin-android-extensions"

apply plugin: "kotlin-kapt"

apply plugin: "com.google.gms.google-services"

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "REDACTED"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    implementation "androidx.legacy:legacy-support-v4:1.0.0"
    testImplementation "junit:junit:4.12"
    testImplementation "androidx.arch.core:core-testing:$lifecycle_version"
    androidTestImplementation "androidx.test:runner:1.1.0"
    androidTestImplementation "androidx.test.espresso:espresso-core:3.1.0"
    androidTestImplementation "android.arch.navigation:navigation-testing:$nav_version"

    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha2"
    implementation "androidx.legacy:legacy-support-core-utils:1.0.0"
    implementation "com.google.android.material:material:1.0.0"
    implementation "androidx.recyclerview:recyclerview:1.0.0"
    implementation "androidx.appcompat:appcompat:1.0.2"
    implementation "androidx.preference:preference:1.0.0"
    implementation "androidx.core:core-ktx:1.0.1"
    implementation "androidx.fragment:fragment-ktx:1.0.0"
    implementation "com.google.dagger:dagger:$dagger_version"
    implementation "com.google.dagger:dagger-android-support:$dagger_version"
    implementation "com.google.dagger:dagger-android:$dagger_version"
    implementation "com.markodevcic.peko:peko:$peko_version"
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"
    implementation "com.google.android.gms:play-services-maps:16.0.0"
    implementation "org.jetbrains.anko:anko-commons:$anko_version"
    implementation "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version"
    implementation "com.android.support.constraint:constraint-layout:1.1.3"
    implementation "com.paulrybitskyi.persistentsearchview:persistentsearchview:$psv_version"
    implementation "android.arch.navigation:navigation-fragment-ktx:$nav_version"
    implementation "android.arch.navigation:navigation-ui-ktx:$nav_version"
    implementation "com.google.android.gms:play-services-places:16.0.0"
    implementation "com.google.firebase:firebase-database:16.0.5"
    implementation "com.github.Kunzisoft:Android-SwitchDateTimePicker:$date_time_picker_version"
    implementation "com.github.etiennelenhart:eiffel:4.0.0"
    implementation 'com.wesleyelliott:kubwa-annotations:1.2.0'

    kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    kapt "com.google.dagger:dagger-compiler:$dagger_version"
    kapt "com.google.dagger:dagger-android-processor:$dagger_version"
    kapt "com.wesleyelliott:kubwa-compiler:1.2.0"
}

Attribute value must be constant

Hi,
When following your instructions and setting i.e.

@Password(errorMessage = R.string.password_error, scheme = PasswordRule.Scheme.ANY)

R.string.password_error results in: Error. Attribute value must be constant

How to set multiple Validation on one View?

How to set multiple Validation on one View?

< example >
@password(errorMessage = R.string.password_error, scheme = PasswordRule.Scheme.ALPHA_MIXED_CASE)
@NotNull.List({
@NotNull(name = "passwordNotNull", errorMessage = R.string.errortest1),
@NotNull(name = "confirmPasswordNotNull", errorMessage = R.string.errortest2)
})

<EditText
android:id="@+id/join_pw"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/default_40"
android:layout_marginStart="@dimen/default_40"
android:hint="@string/ui_login_psw_hint"
android:inputType="textPassword"
android:text="@{viewModel.userPassword}"
app:error="@{viewModel.passwordErrorMessage}"
app:error="@{viewModel.passwordNotNullMessage}"

app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/join_id" />

Problem when usecase: one rule for multiple fields

Hi, thanks for great library

I have problem with the case First Name and Last Name are individual field and cannot be null.
My ViewModel:

@NotNull(errorMessage = R.string.error_name)
public class UserProfile_ViewModel extends BaseObservable

...

//validator
public String getFirstNameError() {
    return validator.getNotNullErrorMessage();
}

public String getLastNameError() {
    return validator.getNotNullErrorMessage();
}

Let say, first name is empty but the error message was showed on both fields first name and lastname.

Do you have any ideas for this situation ? Tks

Unresolved reference: home

Hi,

for some reason when I add this library to a gradle it fails to find android.R.id.home. Sounds strange but it is happening only when I add this library. When I remove it, it is working fine.

Any ideas how to solve it?

I am using Kotlin 1.2.10

Gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'


def AAVersion = '4.4.0'
def supportVersion = "26.1.0"

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.xxx.xxx"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    implementation "com.android.support:appcompat-v7:${supportVersion}"
    implementation "com.android.support:design:${supportVersion}"

    implementation 'android.arch.lifecycle:extensions:1.0.0'

    // Networking
    implementation('com.octo.android.robospice:robospice-retrofit:1.4.14') {
        exclude module: "commons-io"
    }
    implementation 'commons-io:commons-io:2.5'
    implementation 'com.squareup.okhttp3:okhttp:3.9.1'

    // Android Annotations
    implementation 'com.android.support:support-v4:26.1.0'
    kapt "com.android.databinding:compiler:3.0.1"
    kapt "org.androidannotations:androidannotations:$AAVersion"
    implementation "org.androidannotations:androidannotations-api:$AAVersion"

    // Parceler
    implementation 'org.parceler:parceler-api:1.1.7'
    kapt 'org.parceler:parceler:1.1.7'

    // Animations
    implementation 'com.daimajia.androidanimations:library:2.3@aar'

    // Image library
    implementation 'com.github.bumptech.glide:glide:4.2.0'
    kapt 'com.github.bumptech.glide:compiler:4.2.0'

    // Walk through
    implementation 'com.github.apl-devs:appintro:v4.2.2'

    // ZXing reader
    implementation 'com.google.zxing:core:3.3.0'
    implementation 'com.journeyapps:zxing-android-embedded:3.5.0'

    // Skeleton view
    implementation 'com.ethanhua:skeleton:1.0.1'
    implementation 'io.supercharge:shimmerlayout:1.0.2'

    // Validations
    implementation 'com.wesleyelliott:kubwa-annotations:1.0.1'
    kapt 'com.wesleyelliott:kubwa-compiler:1.0.1'

    // Multidex
    implementation 'com.android.support:multidex:1.0.1'

}

android.R.id.home usage

override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            android.R.id.home -> {
                ...
            }
        }

        return super.onOptionsItemSelected(item)
    }

Build errors on Kotlin

Once I add the library to the project, it starts sending out unexpected building errors like this ones:

Error:(54, 25) None of the following functions can be called with the arguments supplied:
public final fun removeAccount(p0: Account!, p1: ((AccountManagerFuture<Boolean!>!) -> Unit)!, p2: Handler!): AccountManagerFuture<Boolean!>! defined in android.accounts.AccountManager
public open fun removeAccount(p0: Account!, p1: AccountManagerCallback<Boolean!>!, p2: Handler!): AccountManagerFuture<Boolean!>! defined in android.accounts.AccountManager
Error:(26, 51) Unresolved reference: getDrawable

However, after removing the library they disappear.

Update

Guess it's related to #8

Not generating validator classes

app gradle file

apply plugin: 'com.android.application'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.mysampleapp"
        minSdkVersion 22
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }


    dataBinding {
        enabled = true
    }
    kapt {
        javacOptions {
            // Increase the max count of errors from annotation processors.
            // Default is 100.
            option("-Xmaxerrs", 500)
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.legacy:legacy-support-v13:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'

    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    implementation 'com.jakewharton.timber:timber:4.7.1'

    implementation 'com.github.WesleyElliott.Kubwa:kubwa:v2.0.0'
    implementation 'com.github.WesleyElliott.Kubwa:kubwa-annotations:v2.0.0'
    annotationProcessor 'com.github.WesleyElliott.Kubwa:kubwa-compiler:v2.0.0'
}

Project level gradle file,

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
        
    }
}

A sample Observable class,

public class UserSignupViewModel extends BaseObservable {



    @Range(errorMessage=R.string.error_userName,max = 20,min = 5)
    private String userName;

    @NotNull(errorMessage = R.string.error_FirstName)
    String firstName;

    @NotNull(errorMessage = R.string.error_LastName)
    String lastName;

    @Email(errorMessage = R.string.error_emailId)
    String emailId;



    @Bindable
    public String getUserName() {
        return userName;
    }

    public void setUserName(String uname) {
        this.userName = uname;
       notifyPropertyChanged(BR.userName);

    }

    @Bindable
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
        notifyPropertyChanged(BR.firstName);
    }

    @Bindable
    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
        notifyPropertyChanged(BR.lastName);
    }

    @Bindable
    public String getEmailId() {
        return emailId;
    }

    public void setEmailId(String emailId) {
        this.emailId = emailId;
        notifyPropertyChanged(BR.lastName);
    }
}

gradle.properties

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m

LoginViewModelValidator validator; // Generated when project is built

The validator is not auto-generating.

ViewModel[Validator] class not being created

Hi, I'm trying to test this library to use in a new Kotlin project with Android Architecture Components using MVVM and the Android Data binding library.

I have a very simple prototype but the MainViewModelValidator class isn't getting created.

@Email(errorMessage = R.string.validation_emailAddress)
class MainViewModel : ViewModel() {

...

val validator = MainViewModelValidator //Unresolved Reference

}

Gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "pl.pszklarska.livedatabinding"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'android.arch.lifecycle:extensions:1.1.1'

    // Kotlin Extensions
    implementation 'androidx.core:core-ktx:0.2'

    kapt 'com.android.databinding:compiler:3.2.0-alpha08'
    kapt 'android.arch.lifecycle:compiler:1.1.1'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    //Validation
    implementation 'com.wesleyelliott:kubwa-annotations:1.1.1'
    annotationProcessor 'com.wesleyelliott:kubwa-compiler:1.1.1'
}

Are you able to offer any assistance on how to overcome this issue?

Thanks in advance

java.lang.NoClassDefFoundError: com/wesleyelliott/kubwa/rule/Rule

I am getting this error: Error:Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider com.wesleyelliott.kubwa.KubwaCompiler could not be instantiated: java.lang.NoClassDefFoundError: com/wesleyelliott/kubwa/rule/Rule

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.