Remove all tabs from the source code and add checkstyle rule that enforces no-tabs

Description

Even though I personally perfer tabs over spaces, Smack is mostly spaces. Hence it is sensible to unify the style and remove all the remaining tabs.

 

This means that at least the following checkstyle rules could be removed if we simply check for tabs anywhere:

Line containing space(s) after tab(s)

Source files with tabs:

$ find . -name "*.java" |xargs grep -P -l '\t'
./smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java
./smack-jingle-old/src/demo/java/org/jivesoftware/smackx/jingle/mediaimpl/demo/Demo.java
./smack-jingle-old/src/integration-test/java/org/jivesoftware/smackx/jingle/PayloadTypeTest.java
./smack-jingle-old/src/integration-test/java/org/jivesoftware/smackx/jingle/provider/JingleProviderTest.java
./smack-jingle-old/src/integration-test/java/org/jivesoftware/smackx/jingle/nat/BasicResolverTest.java
./smack-jingle-old/src/integration-test/java/org/jivesoftware/smackx/jingle/nat/STUNResolverTest.java
./smack-jingle-old/src/integration-test/java/org/jivesoftware/smackx/jingle/nat/TransportResolverTest.java
./smack-debug/src/main/java/org/jivesoftware/smackx/debugger/EnhancedDebugger.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/TestEvents.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/CarExtensionProvider.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/CarExtension.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/EntityUseCases.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/TestMessageContent.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/PublisherUseCases.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/SubscriberUseCases.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/test/PubSubTestCase.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/test/SingleUserTestCase.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/MultiUserSubscriptionUseCases.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/OwnerUseCases.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/pubsub/TestAPI.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/packet/XHTMLExtensionTest.java
./smack-extensions/src/integration-test/java/org/jivesoftware/smackx/LastActivityManagerTest.java
./smack-extensions/src/main/java/org/jivesoftware/smackx/privacy/packet/PrivacyItem.java
./smack-core/src/integration-test/java/org/jivesoftware/smack/util/XMPPErrorTest.java
./smack-core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyProviderTest.java
./smack-core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyTest.java
./smack-core/src/integration-test/java/org/jivesoftware/smack/test/SmackTestCase.java
./smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java
./smack-core/src/test/java/org/jivesoftware/smack/util/PacketParserUtilsTest.java
./smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/provider/RosterExchangeProvider.java
./smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/ext/macros/Macros.java
./smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/ext/macros/MacroGroup.java
./smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/user/Workgroup.java

Environment

None
Fixed

Assignee

Florian Schmaus

Reporter

Florian Schmaus

Labels

None

Expected Effort

Medium

Ignite Forum URL

None

Fix versions

Priority

Minor
Configure