All Projects → stokito → gag

stokito / gag

Licence: Apache-2.0 License
This project is a fork of Google Annotation Gallery

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to gag

bash-cat-with-cat
The classic cat command but with a cat
Stars: ✭ 154 (+266.67%)
Mutual labels:  funny
gitmeme
Enjoy a meme after every git commit
Stars: ✭ 16 (-61.9%)
Mutual labels:  funny
PowerShell-Troll
A PowerShell module that contains different functions that can be used for pranking your fellow co-worker or anyone else for that matter.
Stars: ✭ 52 (+23.81%)
Mutual labels:  april-fools
adversaria
Typeclass interfaces to access user-defined Scala annotations
Stars: ✭ 22 (-47.62%)
Mutual labels:  java-annotations
Programmers-Stickers
程序员表情包,启发自https://weibo.com/2153528647/GvZPI0AYN
Stars: ✭ 30 (-28.57%)
Mutual labels:  funny
fridaybot
Slack bot for https://spb-frontend.slack.com
Stars: ✭ 29 (-30.95%)
Mutual labels:  funny
csv
The csv read/write tool based on java annotation.(基于 java 注解的 CSV 文件读写框架工具。)
Stars: ✭ 22 (-47.62%)
Mutual labels:  java-annotations
developer-titles
(fictional/awesome/random/funny/obsolete) Developer Titles 💥
Stars: ✭ 12 (-71.43%)
Mutual labels:  funny
funny-words
A Python script that generates a list of pairs of funny words for naming things such as app releases, internal projects, servers and children.
Stars: ✭ 26 (-38.1%)
Mutual labels:  funny
Hack-System
[HackSystem/Hack System] 有趣而炫酷的模拟操作系统。An interesting and cool simulation operating system.
Stars: ✭ 35 (-16.67%)
Mutual labels:  funny
butterbot
Butterbot is a blazingly dumb bot written in Swift
Stars: ✭ 20 (-52.38%)
Mutual labels:  funny
ayele
Sound Memes playable on the browser as an extension
Stars: ✭ 18 (-57.14%)
Mutual labels:  funny
Coofend
分享前端圈子好玩炫酷吊炸天的一切事物 😎
Stars: ✭ 21 (-50%)
Mutual labels:  funny
Mirai-Bot
Robot developed based on RICQ framework
Stars: ✭ 6 (-85.71%)
Mutual labels:  funny
awesome-programming-humor
Awesome software, subreddits, websites, and other cool stuff that programmers would find funny.
Stars: ✭ 32 (-23.81%)
Mutual labels:  funny
hasciicam
(h)ascii for the masses! html refreshed ascii video cam
Stars: ✭ 63 (+50%)
Mutual labels:  funny
jolly-code
😆 Not all code has to be serious business™
Stars: ✭ 12 (-71.43%)
Mutual labels:  funny
github-avatar-generator
💕 A github-style avatar generator, powered by Java
Stars: ✭ 35 (-16.67%)
Mutual labels:  funny
jest-fuck
Play an audible 'fuck' whenever your tests fail
Stars: ✭ 44 (+4.76%)
Mutual labels:  funny

Google Annotations Gallery

Build Status

The Google Annotations Gallery is an exciting new Java open source library that provides a rich set of annotations for developers to express themselves. Do you find the standard Java annotations dry and lackluster? Have you ever resorted to leaving messages to fellow developers with the @Deprecated annotation? Wouldn't you rather leave a @LOL or @Facepalm instead? If so, then this is the gallery for you.

Not only can you leave expressive remarks in your code, you can use these annotations to draw attention to your poetic endeavors. How many times have you written a palindromic or synecdochal line of code and wished you could annotate it for future readers to admire? Look no further than @Palindrome and @Synecdoche.

But wait, there's more. The Google Annotations Gallery comes complete with dynamic bytecode instrumentation. By using the gag-agent.jar Java agent, you can have your annotations behavior-enforced at runtime. For example, if you want to ensure that a method parameter is non-zero, try @ThisHadBetterNotBe(Property.ZERO). Want to completely inhibit a method's implementation? Try @Noop.

If we've whet your appetite for truly expressive annotations, then read on and immerse yourself in the Google Annotations Gallery.

Using

You can find the annotations and supporting enumerations in gag.jar. If you want to enforce the enforceable annotations, you can find the dynamic bytecode instrumentation Java agent in gag-agent.jar.

To use the annotations, simply annotate your code with them and include gag.jar in your classpath.

To use the Java agent: use at least JDK 5; use the -javaagent:gag-agent.jar option; and put the agent-dependent jars in your classpath, like:

java -javaagent:gag-agent.jar \
    -cp asm-3.1.jar:asm-commons-3.1.jar:google-collect-1.0.jar:gag.jar \
    MyAnnotatedClass

About this fork

This project is fork of GAG. Currently it has identical code with original GAG, but it will growth with new features in next release. You can read my article about in russian

GAG is already loaded to Maven Central

<dependency>
    <groupId>com.google.gag</groupId>
    <artifactId>gag</artifactId>
    <version>1.0.1</version>
</dependency>

<dependency>
    <groupId>com.google.gag</groupId>
    <artifactId>gag-agent</artifactId>
    <version>1.0.1</version>
</dependency>

But it is not mavenized yet instead of this fork. Now, GAG builded by Maven, thats a helps to resolve transitive dependencies. This version also is uploaded to Maven Central, here is dependency:

<dependency>
    <groupId>com.github.stokito</groupId>
    <artifactId>gag-annotations</artifactId>
    <version>1.0.1</version>
</dependency>

Take a look on demo application https://github.com/stokito/gag-demo

Everybody are wellcome to fork me ;)

See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].