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}