001/* 002 * Copyright 2022-2025 Revetware LLC. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017package com.soklet.annotation; 018 019import com.soklet.internal.classindex.processor.ClassIndexProcessor; 020 021/** 022 * Soklet's standard Annotation Processor which is used to generate lookup tables of <em>Resource Method</em> definitions at compile time. 023 * <p> 024 * Your build system should ensure this Annotation Processor is available at compile time. Follow the instructions below to make your application conformant: 025 * <p> 026 * Using {@code javac} directly: 027 * <pre>javac -processor com.soklet.annotation.SokletProcessor ...[rest of javac parameters elided]</pre> 028 * Using <a href="https://maven.apache.org" target="_blank">Maven</a>: 029 * <pre>{@code <plugin> 030 * <groupId>org.apache.maven.plugins</groupId> 031 * <artifactId>maven-compiler-plugin</artifactId> 032 * <version>...</version> 033 * <configuration> 034 * <release>...</release> 035 * <compilerArgs> 036 * <!-- Rest of args elided --> 037 * <arg>-processor</arg> 038 * <arg>com.soklet.annotation.SokletProcessor</arg> 039 * </compilerArgs> 040 * </configuration> 041 * </plugin>}</pre> 042 * Using <a href="https://gradle.org" target="_blank">Gradle</a>: 043 * <pre>{@code def sokletVersion = "2.0.0" // (use your actual version) 044 * 045 * dependencies { 046 * // Soklet used by your code at compile/run time 047 * implementation "com.soklet:soklet:${sokletVersion}" 048 * 049 * // Same artifact also provides the annotation processor 050 * annotationProcessor "com.soklet:soklet:${sokletVersion}" 051 * 052 * // If tests also need processing (optional) 053 * testAnnotationProcessor "com.soklet:soklet:${sokletVersion}" 054 * }}</pre> 055 * 056 * @author <a href="https://www.revetkn.com">Mark Allen</a> 057 */ 058public class SokletProcessor extends ClassIndexProcessor { 059 // No extra functionality 060}