GithubHelp home page GithubHelp logo

javac-warning-annotation's Introduction

##Lightweight javac @Warning annotation

FAQ:

Q: What is @Warning annotation for?

A: For throwing warning messages from java compiler (javac).

Q: When and why can you use it?

A: When you want to mark some piece of code as "dangerous" or "unstable", etc. (Don't do it often)

Q: Why not to use // TODO or FIXME comments, etc?

A: Because they don't throw compile time warnings by default (depends on IDE, settings, etc.)

Q: What is the size of the library?

A: About 3kb, nothing for runtime, only two classes: @Warning annotation and annotation processor.


Usage:

    // some code...
    
    @Warning("Add caching")
    public void getData() {
        // bad stuff going on here...
    }

###Download

Gradle:

provided 'com.pushtorefresh:javac-warning-annotation:1.0.0'

// Library doesn't bring anything to the runtime
// So you can use provided scope instead of compile 

Maven:

<dependency>
  <groupId>com.pushtorefresh</groupId>
  <artifactId>javac-warning-annotation</artifactId>
  <version>1.0.0</version>
</dependency>

Or grab jar directly from mavenCentral


Notice, if you use another annotation processors โ€” you may need to exclude

'META-INF/services/javax.annotation.processing.Processor'

For Android Gradle setup in can be done like that:

build.gradle:

    android {
        
        // ...
        
        packagingOptions {
            exclude 'META-INF/services/javax.annotation.processing.Processor'
        }
    }

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.